一文详解Java9 的11项新特性

发表于:2018-2-26 09:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:木九天    来源:开源中国

分享:
  6、Java9新特性之---钻石操作符的升级
//java7及以前
Map<String,String> map7 = new HashMap<String,String>();
//java8 <>没有了数据类型
Map<String,String> map8 = new HashMap<>();
//java9 添加了匿名内部类的功能 +{}
Map<String,String> map9 = new HashMap<>(){};
  7、Java9新特性之---异常处理try升级
  首先看下jdk7,8,9 的try catch的比较
  Java7处理方式:
//java7及以前写法  每一个流打开的时候都要关闭
@Test
public void test7(){
InputStreamReader reader = null;
try{
reader = new InputStreamReader(System.in);
reader.read();
}catch (IOException e){
e.printStackTrace();
}finally {
if (reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
  java8 的处理方式:
//java8及 每一个流打开的时候都要关闭,但是在try的括号中来进行关闭
@Test
public void test7(){
try(InputStreamReader reader =new InputStreamReader(System.in)){
reader.read();
}catch (IOException e){
e.printStackTrace();
}
}
  java9的处理方式:
//java9及 每一个流打开的时候都要关闭,但是在try的括号中来进行关闭,在
//java8的基础上进一步升级 直接在try括号中直接写入 变量就好,如果有多个流,就用分号隔开
//try(reader;writer){}
@Test
public void test7(){
InputStreamReader reader =new InputStreamReader(System.in);
try(reader){
reader.read();
}catch (IOException e){
e.printStackTrace();
}
}
  这下子应该一幕了然了吧
  8、Java9新特性之---特殊标识符增加限制
  java8 之前 String _ ="hello";  这样的标识符可以用,java9就用不到。
  9、Java9新特性之---String底层存储结构更换
  java8之前 String的底层结构类型都是 char[] ,但是java9 就替换成 byte[] 这样来讲,更节省了空间和提高了性能
  之所以替换是因为 之前一直是一个汉字一个两个字节,但是字母是一个字节,而一个char代表两个字节,由之前java8的utf-16 装换成了 utf-8/utf-16/latin三种存储方式
  *****同理,StringBuilder StringBuffer也更换了底层数据结构*************
  10、Java9新特性之---Stream API 新方法的添加
  在原有Stream API 新添加了4个方法,takeWhile dropWhile ofNullable iterate(新重载方法)
  首先解释 takeWhile 当达到一定条件就结束:输出结果为45 43,如图
  而 dropWhile 则和takeWhile 相反
  ofNullable, 在java8中 Stream中的元素不能完全为null,否则空指针异常,而在java9的升级中,允许创建null
  iterate 不加条件无线循环
  11、Java9新特性之---引进HttpClient
  以往我们都是通过maven添加httpclient ,java9直接引入即可
  Java9所有特性都是为了提高性能和内存。。。。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号