10. 泛型 Part 3 --- 学习笔记

来源:互联网 发布:b站弹幕源码 编辑:程序博客网 时间:2024/06/02 01:31

泛型补充说明:

  • 泛型是新特性,主要用户解决安全问题。
  • 声明了泛型类型后,就把运行时出现的我能替,转移到了编译时期。 方便程序员解决问题。 
  • 其格式:<> 来定义要操作的引用数据类型。
  • 其使用时: 通常在集合框架中很常见。  只要见到 <> 就一定要定义类型。
  • 泛型是提供给Javac编译器看的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带参数类型说明的集合时会去去除掉“类型”信息,使程序运行不受影响,对于参数化的泛型类型,getClass()方法的返回值和原始类型完全一样由于编译生成的字节码会去掉泛型的类型信息,因此只要能跳过编译器,就可以往某个泛型集合中加入其他类型的数据。
  • 泛型是JDK1.5的所有新特性中最难深入掌握的部分,没有使用泛型时,只要是对象,不管是什么类型的对象,都可以存储进同一个集合中,使用泛型集合,可以将一个集合中的元素限定为一个特定类型,这样集合中就只能存储同一类型的对象,这样更安全;并且当从集合中获取一个对象时,编译器也知道这个对象的类型,不需要对对象进行强制类型转换,这样更方便。
  • 在JDK1.5之后,你还可以按原来的方式将各种不同类型的数据放到同一个集合中,但是编译时会报一个unChecked警告
  • 泛型中的类型参数严格说明集合中装载的数据类型是什么和可以加入什么类型的数据,记住:Collection<String>和Collectin<Object>是两个没有转换关系的参数化的类型

//TODO will update if find some other advantage~~


部分截取自:        http://www.cnblogs.com/xdp-gacl/p/3629723.html

0 0
原创粉丝点击