JDK1.7的新特性

 

JDK1.7的新特性

 

相关阅读

1、Switch中可以使用String了

  在之前的版本中是不支持在Switch语句块中用String类型的数据的,这个功能在C#语言中早已被支持,好在JDK1.7中加入了。

String s = "test";   
switch (s) {   
  case "test" :   
     System.out.println("test");  
  case "test1" :   
    System.out.println("test1"); 
    break ;   
  default :   
    System.out.println("break"); 
    break ;   
 }

2、泛型实例化类型自动推断

List<String> tempList = new ArrayList<>();

3、对Java 集合( Collections )的增强支持

  在JDK1.7之前的版本中,Java集合容器中存取元素的形式如下。以List、Set、Map集合容器为例:

//创建List接口对象  
List<String> list=new ArrayList<String>();  
list.add("item"); //用add()方法获取对象  
String Item=list.get(0); //用get()方法获取对象  

//创建Set接口对象  
Set<String> set=new HashSet<String>();  
set.add("item"); //用add()方法添加对象  

//创建Map接口对象  
Map<String,Integer> map=new HashMap<String,Integer>();  
map.put("key",1); //用put()方法添加对象  
int value=map.get("key")  

  在JDK1.7 中,摒弃了 Java 集合接口的实现类,如: ArrayList 、 HashSet 和 HashMap 。而是直接采用 [] 、{} 的形式存入对象,采用 [] 的形式按照索引、键值来获取集合中的对象,如下: 

List<String> list=["item"]; //向List集合中添加元素  
String item=list[0]; //从List集合中获取元素  
Set<String> set={"item"}; //向Set集合对象中添加元素  
Map<String,Integer> map={name:"xxx",age:18}; //向Map集合中添加对象  
int value=map["age"]; //从Map集合中获取对象  

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

File System.getJavaIoTempDir() // IO临时文件夹
File System.getJavaHomeDir() // JRE的安装目录
File System.getUserHomeDir() // 当前用户目录
File System.getUserDir() // 启动java进程时所在的目录
……

5、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)

6、两个char间的equals

boolean Character.equalsIgnoreCase(char ch1, char ch2)

7、安全的加减乘除

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)

8、数值可加下划线

int one_million = 1_000_000;

9、支持二进制文字

int binary = 0b1001_1001;

 

转载于:https://www.cnblogs.com/hellojava/archive/2012/12/03/2799846.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值