Java集合与泛型中的几个陷阱,你掉进了几个?

Posted xiaozhuzhuchuangdiqiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Java集合与泛型中的几个陷阱,你掉进了几个?的主要内容,如果未能解决你的问题,请参考以下文章

Java中泛型中的几个符号

这几个泛型符号都是啥意思?

38岁,外企技术经理,失业:职场遇到瓶颈,你可能掉进了“能力陷阱”!

Java泛型中的标记符含义

java泛型中的super和extend

了解上界和下界?在 Java 泛型中