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

posted @ 2019-03-01 16:47  帅地  阅读(1542)  评论(1编辑  收藏  举报