java泛类型.docVIP

  • 11
  • 0
  • 约2.48千字
  • 约 6页
  • 2017-11-17 发布于河南
  • 举报
java泛类型

泛型擦除 反射机制 java泛类型相关知识 1 为什么使用泛型 解决元素存储时候的安全性问题,同时解决获取集合元素的时候类型强转的问题。 提高代码的重用率。 例如编写一个泛型类,而我们不去关心类的具体类型,而用T来代表其变化的类型。 (如果任何类型的数据都可以添加到集合中,造成集合类型不安全,另外读取出来的对象可能需要转换,使用繁琐,容易出现,ClassCastException .(类转换异常) 如下代码: ArrayList a1 = new ArrayList(); a1.add(dog); a1.add(cat); Dog temp = a1.get(0); System.out.println(a1.get(0)); Dog temp = (Dog) a1.get(0); //dog是Dog类的一个实例 首先定义了一个ArrayList 类型的集合,然后往集合里面添加了Dog类型的对象以及Cat类型的对象,这里是完全允许的,因为所有的类型集合都默认为Object类,在javac阶段也没有问题,但是在java阶段(运行阶段)就会出现类型转换的异常,ClassCastException。 分析: 1.当我们将一个对象放入集合的时候,集合不会记住对象的类型,当再次从集合中取出对象的时候,该对象的编译类型为Object类型,而运行时类型任何为其本身

文档评论(0)

1亿VIP精品文档

相关文档