2011-10-26 13 views

risposta

7

Perché si sta invocando il metodo con un tipo non elaborato. Il compilatore non può eseguire controlli di tipo. Se si effettuano generici utente , addAll(..) avrà esito negativo.

+1

Ok. Vedo il significato. La clausola 1 fallirà - poiché il tipo è noto e segue la regola generale in cui il jolly illimitato impedisce l'aggiunta. Clausola 2, poiché l'elemento del tipo è sconosciuto, utilizza la regola generale di miscelazione del codice legacy e generico. Ho capito bene? – yapkm01

+0

sì - in caso di tipi non elaborati, tutti i materiali generici vengono scartati. – Bozho

+0

@ yapkm01 generici aggiunti alla fine del linguaggio in modo che dovessero essere progettati in modo da consentire una facile interazione con il gran numero di librerie non generiche esistenti, di conseguenza il compilatore ignora i generici in presenza di tipi non elaborati. – josefx

Problemi correlati