JDK1.7 新特性
原创
©著作权归作者所有:来自51CTO博客作者NICE波的原创作品,请联系作者获取转载授权,否则将追究法律责任
1:switch中可以使用字串
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<>(); 即泛型实例化类型自动推断。
JDK1.7之前 List<String> tempList = new ArrayList<String>()
3:自定义自动关闭类
只要实现该接口,在该类对象销毁时自动调用close方法,你可以在close方法关闭你想关闭的资源,例子如下
class TryClose implements AutoCloseable {
@Override public void close() throw Exception {
System.out.println(" Custom close method …
close resources ");
}
}//请看jdk自带类BufferedReader如何实现close方法(当然还有很多类似类型的类)
public void close() throws IOException {
synchronized (lock) {
if (in == null)
return;
in.close();
in = null;
cb = null;
}
}
4:对Java集合(Collections)的增强支持
在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={"key":1}; //向Map集合中添加对象
int value=map["key"]; //从Map集合中获取对象
5:数值可加下划线
例如:int one_million = 1_000_000;
6:支持二进制文字
例如:int binary = 0b1001_1001;
7:在try catch异常扑捉中,一个catch可以写多个异常类型,用"|”隔开
try {
......
} catch(ClassNotFoundException|SQLException ex) {
ex.printStackTrace();
}
8:jdk7之前,你必须用try{}finally{}在try内使用资源,在finally中关闭资源,不管try中的代码是否正常退出或者异常退出。jdk7之后,你可以不必要写finally语句来关闭资源,只要你在try()的括号内部定义要使用的资源
你投入得越多,就能得到越多得价值
上一篇:JDK1.5 新特性
下一篇:JDK1.8 新特性
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux下载JDK1.7
Linux下载JDK1.7
Linux下载JDK1.7