定义:在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实 际的类型参数,也称为类型实参)。
作用:解决元素存储的安全性问题;解决获取数据元素时,需要类型强制转换的问题。
在集合中使用泛型:
只有指定类型才可以添加到集合中(类型安全),读取出来的对象不需要强制
使用示例:
public void test2() {
//以ArrayList为例
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(78);
list.add(87);
list.add(99);
list.add(65);
//编译时,就会进行类型坚持,保证数据的安全
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer next = iterator.next();
System.out.println(next);
}
}
//在集合中使用泛型的情况:以HashMap为例
@Test
public void test3() {
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("Tom", 24);
map.put("jerry", 87);
map.put("peter", 100);
//泛型的嵌套
Set<Map.Entry<String, Integer>> entry = map.entrySet();
Iterator<Map.Entry<String, Integer>> iterator = entry.iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> next = iterator.next();
String key = next.getKey();
Integer value = next.getValue();
System.out.println(key + "____" + value);
}
}