• jdk5.0中出现的新特性


    jdk5.0中出现的新特性

    • 泛型(Generics)

    • 增强的“for”循环(Enhanced For loop)

    • 自动装箱/自动拆箱(Autoboxing/unboxing)

    • 类型安全的枚举(Type safe enums)

    • 静态导入(Static import)

    • 可变参数(Var args)



    1. 所谓泛型:就是变量类型的参数化。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastExceptions的可能。 

    2. 增强的for循环,For-Each循环的加入简化了集合的遍历,其语法如下:

        for(type element : array) {

            ....

        } 

    3. 当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。

    4. 自动装箱:基本类型自动转为包装类.(int >> Integer)

        自动拆箱:包装类自动转为基本类型.(Integer >> int) 

    5. Integer 类有一个缓存,它会缓存介于-128~127 之间的整数。所以:Integer a =3 ;Integer b=3 中a==b为true。但如果使用new生成,则则结果为false。

     6. 当您使用“enum”定义 枚举类型时,实质上您定义出來的类型继承自java.lang.Enum 类型,而每个枚举的成员其实就是你定义的枚举类型的一个实例(Instance),

        他们都被预设为 final,所以你无法改变他们,他们也是static成员,所以您可以通过类型名称直接使用他们,当然最重要的,它们都是公开的(public) 

    7. 枚举的使用场景:类型确定。与常量相比,枚举显得更规范,限制了方法中传入的参数值。 

    8. 可变参数:可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象。但如果将方法中的参数定义为数组,

        那么只能传递数组对象而不能传递离散的值。 

    9. 可变参数必须要作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数。

    10. 导入Common类中的静态成员变量AGE以及静态方法output:

          1). import static com.shengsiyuan.common.Common.Age;       // 导入静态成员变量

          2). import static com.shengsiyuan.common.Common.output;    // 导入静态方法

          注意:使用import static时,要一直导入到类中的静态成员变量或静态方法。 

    11. 过度使用静态导入会一定程度上降低代码的可读性
       

  • 相关阅读:
    Vue.js 2.x笔记:安装与起步(1)
    EntityFramework Core笔记:保存数据(4)
    EntityFramework Core笔记:查询数据(3)
    EntityFramework Core笔记:表结构及数据基本操作(2)
    EntityFramework Core笔记:入门(1)
    ASP.NET MVC系列:web.config中ConnectionString aspnet_iis加密与AppSettings独立文件
    EntityFramework优化:第一次启动优化
    EntityFramework优化:查询性能
    EntityFramework优化:查询WITH(NOLOCK)
    SpringCloud学习笔记:熔断器Hystrix(5)
  • 原文地址:https://www.cnblogs.com/Jtianlin/p/4175429.html
Copyright © 2020-2023  润新知