java 之Java基础增强(新特性)

JDK5新特性

自动装箱和拆箱
泛型
增强for循环
静态导入
可变参数
枚举

枚举

枚举概述
    是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。
    回想单例设计模式:单例类是一个类只有一个实例
    那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才能是枚举类。

通过自己定义一个枚举类来演示案例
第一版
第二版
第三版
发现自己定义一个枚举类,比较麻烦,所以,java就提供了枚举类供我们使用。
格式是:只有枚举项的枚举类
public enum 枚举类名 {
            枚举项1,枚举项2,枚举项3…;
}

注意事项
    定义枚举类要用关键字enum
    所有枚举类都是Enum的子类
    枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
    枚举类可以有构造器,但必须是private的,它默认的也是private的。枚举项的用法比较特殊:枚举(“”);
    枚举类也可以有抽象方法,但是枚举项必须重写该方法
    枚举在switch语句中的使用

枚举类中的几个常见方法

int compareTo(E o)
String name()
int ordinal()
String toString()
<T> T valueOf(Class<T> type,String name)
values() 
    此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便

JDK7新特性

二进制字面量
数字字面量可以出现下划线
switch 语句可以用字符串
泛型简化
异常的多个catch合并
try-with-resources 语句

二进制字面量

    JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。使用二进制字面量的好处是,可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B
    举例:
        int x = ob110110

数字字面量可以出现下划线

为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。
举例:
    int x = 100_1000;
注意事项:
    不能出现在进制标识和数值之间
    不能出现在数值开头和结尾
    不能出现在小数点旁边

try-with-resources 语句

格式:
try(必须是java.lang.AutoCloseable的子类对象){…}
好处:
资源自动释放,不需要close()了
把需要关闭资源的部分都定义在这里就ok了
主要是流体系的对象是这个接口的子类(看JDK7的API)
发布了65 篇原创文章 · 获赞 57 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/LiuMiao1128/article/details/53230764
今日推荐