JDK1.7新特性

下面是Java 1.7 里新出现的功能的一些用法例子:

1、对集合的支持对集合的支持对集合的支持对集合的支持  创建List / Set / Map 时写法更简单了。   

  List String> list = [item];

  String item = list[0]; 

Set String > set = {item};

  Map String,Integer > map = {key : 1};

  int value = map[key]; 


2、对资源的自动回收管理对资源的自动回收管理对资源的自动回收管理对资源的自动回收管理   下面的代码看起来有点麻烦 … 不是吗?    

BufferedReader br = new BufferedReader(new FileReader(path)); 

try {   return br.readLine();   } finally {   br.close();   

相信你一定会喜欢下面这种写法。  

  try (BufferedReader br = new BufferedReader(new FileReader(path)) {   return br.readLine();  


3、泛型泛型泛型泛型实例创建过程中类型引用的简化实例创建过程中类型引用的简化实例创建过程中类型引用的简化实例创建过程中类型引用的简化  

当声明你的对象的接口是,你肯定是不想重复指明泛型类型。   看看下面的这种写法多好呀…   

  MapString,String> hello = new Map();

1Map hello = new Map();


4、在数字中使用下划线在数字中使用下划线在数字中使用下划线在数字中使用下划线   

  int billion = 1_000_000_000;    1int billion = 1_000_000_000;

我不知道这个能有多少用处。


5、对字符串进行对字符串进行对字符串进行对字符串进行

switch case String s = "test";

switch (s) { 

case "test" : System.out.println("test");

case "test1" :  System.out.println("test1");  break ;

  default :  System.out.println("break"); break ;  }  

注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。


6、二进制符号二进制符号二进制符号二进制符号   你可用作二进制字符前加上 0b 来创建一个二进制类型。    

int binary = 0b1001_1001; 


7、一个一个一个一个catch里捕捉多个异常类型里捕捉多个异常类型里捕捉多个异常类型里捕捉多个异常类型    

try {   Here comes your code....}  

catch(IOException | NullPointerException | ..........) {


8、语法上支持集合语法上支持集合语法上支持集合语法上支持集合,,,,而不一定是数组而不一定是数组而不一定是数组而不一定是数组

  final List<Integer> piDigits = [ 1,2,3,4,5,8 ];


  9、新增一些取环境信息的工具方法新增一些取环境信息的工具方法 

File System.getJavaIoTempDir() // IO临时文件夹

File System.getJavaHomeDir() // JRE的安装目录

File System.getUserHomeDir() // 当前用户目录

File System.getUserDir() // 启动java进程时所在的目录


10、 Boolean类型反转类型反转类型反转类型反转,,,,空指针安全空指针安全空指针安全空指针安全,参与位运算参与位运算参与位运算参与位运算

Boolean Booleans.negate(Boolean booleanObj) True => False , False => True, Null => Null

boolean Booleans.and(boolean[] array)

boolean Booleans.or(boolean[] array)

boolean Booleans.xor(boolean[] array)

boolean Booleans.and(Boolean[] array)

boolean Booleans.or(Boolean[] array)

boolean Booleans.xor(Boolean[] array)

11、安全的加减乘除安全的加减乘除安全的加减乘除安全的加减乘除

int Math.safeToInt(long value)

int Math.safeNegate(int value)

long Math.safeSubtract(long value1, int value2)

long Math.safeSubtract(long value1, long value2)

int Math.safeMultiply(int value1, int value2)

long Math.safeMultiply(long value1, int value2)

long Math.safeMultiply(long value1, long value2)

long Math.safeNegate(long value)

int Math.safeAdd(int value1, int value2)

long Math.safeAdd(long value1, int value2)

long Math.safeAdd(long value1, long value2)

int Math.safeSubtract(int value1, int value2) 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值