JAVA之泛型类与List的使用
泛型 泛型类的诞生:增加编译期间的类型检查,取消类型转换的应用 泛型类的分类: 1) 泛型类:尖括号<>是泛型的标志 2) E是类型变量(Type variable)变量名一般要大写 3) E在定义时是形参,代表的意思是MyArrayList最终传入的类型,但现在还不知道 注意:泛型类可以一次有多个类型变量,用逗号分割 泛型是作用在编译期间的一种机制,即运行期间没有泛型的概念 泛型类的使用 //定义了一个元素是Book引用的MyArrayList MyArrayList books=new MyArrayList(); books.add(new Book()); //会产生编译错误,Person类型无法转换为Book类型 books.add(new Person()); //不需要做类型转换 Book book=book.get(0); //会产生编译错误,Book类型无法转换为Person类型 Person person=book.get(0); 注意:泛型的使用方式:只需要在所有类型后边跟尖括号,并且尖括号内是真正的类型,即E可以看做最后的类型(Book只能想象成E的类型,但实际上E的类型还是Object 泛型总结 1) 泛型是为了解决某些容器,算法等代码的通用性而引入,并且能在编译期间做类型检查 2) 泛型利用的是Object是所有类的祖先类