Java集合与泛型中的几个陷阱,你掉进了几个?
下面我总结了集合、泛型、数组转集合等一些常见的陷进,认真看完,相信你绝对有所收获。
1、List ,List<?> 与 List<Object> 有区别吗?
说实话,我敢保证很多人是不知道 List, List<?> 与 List<Object> 之间的区别的。
1、我们先来看看 List 与 List<Object>
很多可能觉得 List<Object>的用法与 List 是一样的,例如很多人认为
List<Object> list;
与
List list;
这两种定义方法是一模一样的,然而他们是不一样的。看下面一段代码
List<Integer> t1 = new ArrayList<>();
// 编译通过
List t2 = t1;
//编译失败
List<Object> t3 = t1;
t1 可以赋给 t2, 但是 t1 不能赋给 t3,会抛出如下异常
从这里可以看出
List list;
与
List<Object> list;
是有区别的,List 变量可以接受任何泛型的变量,而 List