开发者社区> 问答> 正文

java如何声明一个集合实例?

List one = new ArrayList();
List<String> two = new ArrayList<>();
List<String> three = new ArrayList<String>();

我看官方文档中表示第三中是jdk1.7新加的和第二种没有本质的区别,我简单测试了测试了第一种也没有发现错误,第一种写法有哪些缺陷或者问题吗?

展开
收起
蛮大人123 2016-03-06 10:22:22 2010 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    第一种写法没有指定list中元素的类型。后两种都指定了。其中第二种用了类型推导。
    第一种里面没有指定元素类型的话,你取出数据时需要用强制转型将数据转为String型。更加严重的问题在于,你可以将非String类型的数据存入list中,且编译器不会报错,有可能导致运行时异常。而后两种写法出现这种情况时编译器都会报错。

    2019-07-17 18:54:10
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载