如何使用泛型在Java中实例化一个集合?
问题描述:
最新最好的方式:如何使用泛型在Java中实例化一个集合?
Set<String> myStringSet = new HashSet();
或者
Set<String> myStringSet = new HashSet<String>();
以上都不对?
重要吗?
答
答
你应该总是初始化集合与泛型类型
Set<String> myStringSet = new HashSet<String>();
否则,你将得到一个警告
Type safety: The expression of type HashSet needs unchecked conversion
to conform to Set <String>.
答
二是进行最好的,最安全的方式。
Set<String> myStringSet = new HashSet();
将编译并给予...uses unchecked or unsafe operations.
警告。如果您使用的是不具有泛型类型说明符的集合(HashSet()
而不是HashSet<String>()
),则会在Java 5及更高版本中出现。
省略泛型类型说明符将检查你使用的HashSet
在类型安全的方式,使用泛型禁用编译器。
检查这个问题,并接受的答案: http://stackoverflow.com/questions/4166966/what-is-the-point-of-the-diamond-operator-in-java-7 – 2011-12-13 23:16:13
在Java SE 7(OUT NOW!)`设置 myStringSet = new HashSet ();` –
2011-12-14 00:21:28