首页 > 代码库 > 集合中的泛型
集合中的泛型
为什么要有泛型?
关于以上两点的说明:
- 解决元素存储的安全问题(集合没有泛型时,任何类型都可以添加进集合,类型不安全)
- 解决获取数据元素时,需要类型强转的问题(读取集合元素强转时很繁琐,可能会报 ClassCastException)
public class TestGeneric {
@Test
public void test() {
List list = new ArrayList();
list.add(78);
list.add(91);
list.add(65);
list.add(new String("cdf"));// 任何类型都可以添加进集合,而本意只想添加 Integer 类型
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
int i = (Integer) iterator.next();// 有 ClassCastException 的隐患
System.out.println(i);
}
}
}
使用泛型解决以上问题:
public class TestGeneric {
@Test
public void test() {
List<Integer> list = new ArrayList<Integer>();
list.add(78);
list.add(91);
list.add(65);
// list.add(new String("cdf")); 此时只能添加 Integer 类型,添加 String 类型数据会报错
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
int i = iterator.next();// 没有报 ClassCastException 隐患
System.out.println(i);
}
}
}
注意:泛型只能填引用类型;JDK 7.0之后,后面的尖括号内的泛型可以省略
集合中的泛型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。