cosa è il modo migliore:Come creare un'istanza di una raccolta in Java utilizzando Generics?
Set<String> myStringSet = new HashSet();
O
Set<String> myStringSet = new HashSet<String>();
Nessuno dei precedenti?
Ha importanza?
cosa è il modo migliore:Come creare un'istanza di una raccolta in Java utilizzando Generics?
Set<String> myStringSet = new HashSet();
O
Set<String> myStringSet = new HashSet<String>();
Nessuno dei precedenti?
Ha importanza?
Quest'ultimo:
Set<String> myStringSet = new HashSet<String>();
Vedi the Java documentation on generic types per ulteriori informazioni.
Basta iniziare a usare la versione non tipizzata ... quando realizzi tutti i lanci fastidiosi che devi fare, inizierai a utilizzare le raccolte tipizzate ! –
Si dovrebbe sempre inizializzare collezione tipo generico
Set<String> myStringSet = new HashSet<String>();
In caso contrario si otterrà un messaggio di avviso
Type safety: The expression of type HashSet needs unchecked conversion
to conform to Set <String>.
Il secondo è il modo migliore e più sicuro per procedere.
Set<String> myStringSet = new HashSet();
compila e fornisce un avviso ...uses unchecked or unsafe operations.
. Questo si presenta in Java 5 e versioni successive, se si utilizzano raccolte senza identificatori di tipi generici (HashSet()
anziché HashSet<String>()
).
L'omissione dello specificatore di tipo generico disabiliterà il compilatore dal controllare che si stia utilizzando lo HashSet
in modo sicuro, utilizzando i generici.
Controllare questa domanda e risposta accettata: http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond-operator-in-java-7 –
In Java SE 7 (DISPONIBILE ORA!) 'Set myStringSet = new HashSet <>();' –