jdk5新特性

2019-09-27  本文已影响0人  漫步无法人生

记录下
原文链接如下: 尊重别人的劳动成果
https://blog.csdn.net/weixin_40926603/article/details/84970282
https://www.cnblogs.com/liunianfeiyu/p/7868779.html

想要了解新特性的实现方式,反编译一下即可-大部分是可以知道的

以下代码中的变量名是随意取得,不可模仿

一、自动拆装箱

二、Foreach 增强for循环,新增一种循环语法

格式: for( : )

1.JKD5以前的处理方式:

for (int index = 0; index < list.size(); index++ ) {
    String str = list.get(index);
    System.out.println("str: " + str);
}

2.JKD5现在的处理方式:

for (String str : list){
    System.out.println("str:" + str);
}

三、静态导入

要使用静态成员(方法和变量)我们给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名

1 import static java.lang.Math.*;
2 ...
3 r = sin(PI * 2);//无需再写 r = Math.sin(Math.PI * 2);
4 不过,过度使用这个特性也会一定程度上降低代码的可读性。

四、可变参数 Var args

当传入到方法的参数不固定时,就可以使用可变参数 格式:数据类型... 参数名

1.JKD5以前的处理方式:

在JDK1.5之前,我们可以用重载来实现,但是这样就需要写很多的重载函数,显得不是很有效

2.JKD5现在的处理方式:

1 public void write(Object... objs) {
2       for(Object obj : pbjs) {
3             System.out.println(obj);
4       }
5 }

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

关键字enum表示枚举类型,它的作用相当于类声明中的class关键字

六、格式化输出

JDK5推出了printf-style格式字符串的解释器 java.util.Formatter 工具类,和C语言的printf()有些类似。

//创建对象时指定将结果输出到控制台
Formatter formatter = new Formatter(System.out);
formatter.format("x = %d , y = %s\n",1 , "test");
formatter.close();

六、泛型

七、ProcessBuilder

ProcessBuilder可以用来创建操作系统进程,它的每一个实例管理着Process集合,start()方法可以创建一个新的Process实例

八、内省

在类Person中有属性name、age和address。通过 getName/setName来访问name属性,getAge/setAge来访问age属性,getAddress/setAddress来访问address属性,这是我们默认遵循的规则。Java JDK中提供了一套 API用来访问某个属性的 getter/setter 方法,这就是内省

剩下的就不再赘述了,感兴趣的可以去原文链接查看

上一篇 下一篇

猜你喜欢

热点阅读