Java版本特性(Java9~Java16)

Java9

接口里可以添加私有接口

​ JAVA 8 对接口增加了默认方法的支持,在 JAVA 9 中对该功能又来了一次升级,现在可以在接口里定义私有方法,然后在默认方法里调用接口的私有方法。

​ 这样一来,既可以重用私有方法里的代码,又可以不公开代码。

public interface TestInterface {
   
    default void wrapMethod(){
   
        innerMethod();
    }
    private void innerMethod(){
   
        System.out.println("");
    }
}

匿名内部类也支持钻石(diamond)运算符

​ JAVA 5 就引入了泛型(generic),到了 JAVA 7 开始支持钻石(diamond)运算符:<>,可以自动推断泛型的类型:

List<Integer> numbers = new ArrayList<>();

​ 但是这个自动推断类型的钻石运算符可不支持匿名内部类,在 JAVA 9 中也对匿名内部类做了支持:

List<Integer> numbers = new ArrayList<>() {
   
    ...
}

增强的 try-with-resources

​ JAVA 7 中增加了try-with-resources的支持,可以自动关闭资源:

try (BufferedReader bufferReader = new BufferedReader(...)) {
   
    return bufferReader.readLine();
}

​ 但需要声明多个资源变量时,代码看着就有点恶心了,需要在 try 中写多个变量的创建过程:

try (BufferedReader bufferReader0 = new BufferedReader(...);
    BufferedReader bufferReader1 = new BufferedReader(...)) {
   
    return bufferReader0.readLine();
}

​ JAVA 9 中对这个功能进行了增强,可以引用 try 代码块之外的变量来自动关闭:

BufferedReader bufferReader0 = new BufferedReader(...);
BufferedReader bufferReader1 = new BufferedReader(...);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值