JDK 1.7 新特性

本文详细介绍了Java 7的一些重要特性,包括switch支持String参数、二进制整型字面值、数字常量的新形式、try-with-resources语句以简化资源管理,以及异常处理的改进,如multi-catch和final rethrow。此外,还提到了泛型实例创建时的自动类型推断和编译器对带泛型可变参数方法警告和错误提示的改进。
摘要由CSDN通过智能技术生成

switch 支持 String 做参数

switch语句支持了对字符串String的判定,这对于开发来说是非常便利的改进。

public class SwitchTest {
   
    public static void switchTest(String arg) {
        switch (arg) {
        case "Lisa":
            System.err.println("我是Lisa!");
            break;
        case "Mike":
            System.err.println("我是Mike!");
            break;
        default:
            System.err.println("我是你的唯一!");
            break;
        }
    }
    public static void main(String[] args) {
        switchTest("Lisa");//我是Lisa!
        switchTest("Mike");//我是Mike!
        switchTest("");//我是你的唯一!
    }
}

二进制整型字面值

在旧版的 Java 中,字面值只支持十进制、八进制、十六进制3种类型,在Java7中又多了一种二进制,它的前缀是0B,配合需要位运算的场景特别合适,尤其是跟下划线组合使用:

int i = 0B1010_1100_0010_1100_0000_1111_0001_1011;

数字常量 - 新形式写法

这个特性的引入对我们阅读数字有很好的帮助。可以使用下划线去划分,这样更加便于阅读。这个下划线不是说一定要 3 位数字划分一次,多少位都可以,可以根据个人阅读习惯,编译的时候JVM会将下划线去掉。

long amount = 123000555999666L;
//JDK7特性写法
long amount1 = 123_000_555_999_666L;

注意:只能将下划线置于数字之间。

以下地方不能放置下划线:

  • 数字的开头或结尾;浮点数中靠近小数点的位置;
  • F 或 L 后缀之前期望放置一串数字的地方。

try-with-resources

在Java编程过程中,如果打开了外部资源(文件、数据库连接、网络连接等),我们必须在这些外部资源使用完毕后,需要手动关闭它们。因为外部资源不由JVM管理,无法享用JVM的垃圾回收机制,如果我们不在编程时确保在正确的时机关闭外部资源,就会导致外部资源泄露,紧接着就会出现文件被异常占用,数据库连接过多导致连接池溢出等诸多很严重的问题。

传统做法:

FileInputStream inputStream = null;
try {
    inputStream = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值