Test t1 = new Test();
Qui si utilizza un tipo grezzo. vale a dire, non passando un Type argument
per il tuo generic clas
s.
compilatore dovrebbe darvi un avvertimento qui
test è un tipo grezzo. I riferimenti al tipo di test generici dovrebbero essere parametrizzato
Test<String> t2 = new Test<String>();
qui si utilizza farmaci generici. passando String come type argument
al tuo generic class
.
Test t3 = new Test<String>();
compilatore dovrebbe anche dare un avvertimento anche qui:
- Test è un tipo grezzo. I riferimenti al tipo di test generici dovrebbero essere parametrizzati
stesso del vostro primo caso, ma si stanno utilizzando tipo parametrico invocando il costruttore.
C'è anche un'altra classe che funziona bene nelle versioni di + java 7.
Test<String> t4 = new Test<>();
No compilatore di avvertimento qui se si utilizza + Java 7 a causa di Type Inference
In questo caso a causa della introduzione di type inference
tipo generico è dedotto, quindi non c'è bisogno di fornire il generico digitare durante la chiamata del costruttore.
quasi vero. Gli altri due solo avvisi pubblicitari, ma non errore di compilazione reale. –