java - 在 Java 泛型中使用 <>
问题描述
为什么 Java 接受下面的代码行,而 <> 只出现在右边?<> 标志没有这样的(泛型功能)目的吗?
List balloons = new ArrayList<>();
到目前为止,我只了解右侧 <> 的用法,如下例所示。这里Java推断左边的类型,所以右边不需要再指定,直接使用<>即可。
List<String> balloons = new ArrayList<>();
balloons.add("blue");
balloons.add("yellow");
// balloons.add(1); // will not compile as balloons is type safe, demanding String input
System.out.println(balloons.get(0));
System.out.println(balloons.get(1));
// System.out.println(balloons.get(2));
解决方案
列表定义为
List balloons = new ArrayList<>();
是原始类型,这意味着您可以在此列表中存储任何内容。
这个
List balloons = new ArrayList<>();
类似于
List<Object> balloons = new ArrayList<>();
注意:重要的是要注意List
和List<Object>
相似但它们之间存在差异。请参阅:List 和 List<Object> 之间的 Java 区别
推荐阅读
- mysql - 如何在 SQL 上获取下一个付款日期
- spring - 扩展 Spring 安全用户类
- visual-studio-2019 - 我无法签署 bin\Debug\Mainpaint.exe
- ios - UICollectionView 的宽度在 UITableViewCell 内没有改变
- python - 使用 Python 和 Gmail API 将电子邮件标记为已读
- twitter-bootstrap - Bootstrap 3 虚线进度条
- python - 将“24OCT2020:00:00:00”格式转换为日期时间
- word-embedding - 如何在词嵌入模型 BERT 上使用我自己的语料库
- spring-boot - 如何检测 RSocket 连接是否成功?
- bash - 如果在一个命令行中有多个重定向运算符,它们是如何工作的?(重击)