JDK版本新特性介绍&JDK1.5

来源:互联网 发布:优化驱动器要多久 编辑:程序博客网 时间:2024/05/22 06:25
  • 背景简述
    没有总结就没有进步。从今天起要开始定时写博客,总结一些工作中或学习中遇到的问题和经验,希望借此来提升自己在工作中的能力。因为本人经验尚浅,期间可能会通过“偷”别人的博客内容来丰富自己的知识,还请原创作者见谅。如果实在要求注明原创,也可以联系本人。嘿嘿,读书人的事怎么能算“偷”呢!闲蛋不多讲,今天总结一下JDK1.5的新特性,后续会有1.6、1.7、1.8的,在跟进java发展脚步的同时加深对java语言的理解。

  • JDK1.5引入新特性介绍

    • 1. 自动装箱与拆箱
      自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中。
      自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()方法。
      自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。
      类型包装器有:Double,Float,Long,Integer,Short,Character和Boolean

    • 2. 枚举
      把集合里的对象元素一个一个提取出来。枚举类型使代码更具可读性,理解清晰,易于维护。枚举类型是强类型的,从而保证了系统安全性。而以类的静态字段实现的类似替代模型,不具有枚举的简单性和类型安全性。
      简单的用法:JavaEnum简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。
      复杂用法:Java为枚举类型提供了一些内置的方法,同时枚举常量还可以有自己的方法。可以很方便的遍历枚举对象。

    • 3. 静态导入
      通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。
      import xxxx 和 import static xxxx的区别是前者一般导入的是类文件如import java.util.Scanner;后者一般是导入静态的方法,import static java.lang.System.out。

    • 4. 可变参数(Varargs)
      可变参数的简单语法格式为:
      methodName([argumentList], dataType…argumentName);

    • 5. 内省(Introspector)
      是 Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新的值。通过getName/setName来访问name属性,这就是默认的规则。Java中提供了一套API用来访问某个属性的getter /setter方法,通过这些API可以使你不需要了解这个规则(但你最好还是要搞清楚),这些API存放于包java.beans中。
      一 般的做法是通过类Introspector来获取某个对象的BeanInfo信息,然后通过BeanInfo来获取属性的描述器 (PropertyDescriptor),通过这个属性描述器就可以获取某个属性对应的getter/setter方法,然后我们就可以通过反射机制来 调用这些方法。

    • 6. 泛型(Generic)
      C++ 通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。之后引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。

    • 7. For-Each循环
      For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。

注:文章中加粗内容是当前我还不了解的东西,之后需要查阅相关资料做进一步了解。