泛型
俺只是个普通人
这个作者很懒,什么都没留下…
展开
-
2、泛型-泛型的约束与局限性
不能用基本类型实例化类型参数没有Pair<double>,只有Pair<Double>。原因是类型擦除,擦除之后,Pair类含有Object类型的域,而Object不能存储double值。这样做与java语言中基本类型的独立状态相一致。运行时类型查询只适用于原始类型 Pair<LocalDate> pair=new DateInterval(); ...原创 2018-05-24 17:33:39 · 719 阅读 · 0 评论 -
3、泛型-泛型代码和虚拟机
泛型代码和虚拟机虚拟机没有泛型类型,只有普通的类和方法。无论何时定义一个泛型类型,都自动提供一个相应的原始类型。原始类型的名字就是删除类型参数后的泛型类型名。擦除类型变量,并替换为限定类型,无限定类型的变量用Object。Pair<T>的原始类型,因为T是一个无限定的变量,所有直接用Object替换。public class Pair { private Object fir...原创 2018-05-24 17:34:11 · 228 阅读 · 0 评论 -
1、泛型-介绍
为什么需要泛型使用泛型,使得程序具有更好的可读性和安全性。没有泛型之前,集合使用的是Object,导致一个集合里可能出现不同类型的数据,比如String,File等,导致其他人都不知道这个集合中有哪些类型数据。add()方法的时候,编译和运行都不会出错,但是在get()获取结果的时候,需要强制类型转换成需要的类型,这时可能会出现类型转换异常。使用泛型后,ArrayList<String>...原创 2018-05-24 17:32:38 · 152 阅读 · 0 评论 -
4、泛型-通配符
无边界通配符:<?>无边界通配符的主要作用就是让泛型能够接受未知类型的数据。 public static void main(String[] args) { List<String> list1=new ArrayList<>(); list1.add("aa"); list1.add("bb"); ...原创 2018-05-24 17:30:58 · 162 阅读 · 0 评论