使用
初始化之间是否有任何区别?HashSet<Integer> s = new HashSet(2)
和
HashSet<Integer> s = new HashSet<Integer>(2)
答案 0 :(得分:2)
唯一的区别是第一个会给你一个编译器警告原始类型&#39; HashSet&#39;。
答案 1 :(得分:1)
有趣的是,使用javac 1.7.0_07进行编译:
使用未经检查的警告进行编译 -
HashSet<Integer> s0 = new HashSet(2);
无消息编译 -
HashSet<Integer> s1 = new HashSet<>(2);
HashSet<Integer> s2 = new HashSet<Integer>(2);