如何正确使用List
2016-09-16 17:37
148 查看
List<?>这种语法很奇怪,是什么意思?
Java中把一个(?)称为类型通配符。为了表示各种泛型List的父类,可以使用List<?>,意思是元素类型未知的List,它的元素类型可以匹配任何类型。先看看下面这段代码:
现在可以使用任何类型的List来调用它,程序依然可以访问集合c中元素。
但这种带通配符的List仅表示它是各种泛型List的父类,并不能把元素加入其中,例如,下面的代码会引起编译错误。
因为程序无法确定c集合元素的类型,所以不能向其中添加对象。
上面两个小例子说明了List<?>的正确使用和错误使用两种情况。简单一句话:可以使用get访问元素,但不能使用add添加元素。
Java中把一个(?)称为类型通配符。为了表示各种泛型List的父类,可以使用List<?>,意思是元素类型未知的List,它的元素类型可以匹配任何类型。先看看下面这段代码:
public void test(List<?> c) { for(int i=0;i<c.size();i++) { System.out.println(c.get(i)); } }
现在可以使用任何类型的List来调用它,程序依然可以访问集合c中元素。
但这种带通配符的List仅表示它是各种泛型List的父类,并不能把元素加入其中,例如,下面的代码会引起编译错误。
List<?> c = new ArrayList<String>(); //下面程序引起编译错误 c.add(new Object());
因为程序无法确定c集合元素的类型,所以不能向其中添加对象。
上面两个小例子说明了List<?>的正确使用和错误使用两种情况。简单一句话:可以使用get访问元素,但不能使用add添加元素。
相关文章推荐
- 如何正确使用List中的toArray()方法
- 如何正确使用List<?>
- 关于如何使用struts标签输出值为map的list
- 如何在 Windows 服务中正确使用 log4net
- 如何正确使用标题元素、段落和强制换行
- 如何正确使用Java I/O输出和读入数据
- 如何正确使用Java I/O输出和读入数据
- 如何正确使用电烙铁
- 如何在IE中正确使用MSXML
- Java中如何正确使用字体编码
- 如何正确使用Java I/O输出和读入数据
- 专家教你如何正确使用160G硬盘
- 如何正确的使用Timer的schedule()方法?
- 如何正确的安装使用shark1.1-2
- 如何正确的使用PeekMessage() (收藏)
- Java中如何正确使用字体编码`
- 正确使用List.toArray()
- Java中如何正确使用字体编码
- 如何正确的使用Java序列化技术
- 如何正确使用160GB大硬盘