背景
在没有泛型前,一旦把一个对象丢进集合中,集合就会忘记对象的类型,把所有的对象都当成 Object 类型处理。当程序从集合中取出对象后,就需要进行强制类型转换,这种转换很容易引起 ClassCastException 异常。
定义
程序在创建集合时指定集合元素的类型。增加了泛型支持后的集合,可以记住集合中元素的类型,并可以在编译时检查集合中元素的类型,如果试图向集合中添加不满足类型要求的对象,编译器就会报错。
示例
集合使用泛型
1import java.util.ArrayList; 2import java.util.HashMap; 3import java.util.List; 4import java.util.Map; 5 6public class DiamondTest { 7 public static void main(String[] args) { 8 List books = new ArrayList<>(); 9 books.add("learn");10 books.add("java");11 books.forEach(book -> System.out.println(book.length()));1213 Map> schoolsInfo = new HashMap<>();14 List schools = new ArrayList<>();15 schools.add("i");16 schools.add("love");17 schoolsInfo.put("java