JDK9、11新特性

JDK9

1、jshell使用:轻量级的小工具
进入、使用、退出。
在这里插入图片描述

JDK11

jdk8、11是官方长期支持的版本。

1、变量类型推断
	在JS中,不管类型是什么,我们都是使用var来进行变量声明的。但是之前对于Java的使用,都会提到它是强类型语言,
变量声明需要定义特定类型。但是在JDK11中对JDK8的类型推断思路又得以延伸,使用JS的方式,通过var定义局部变量,
它会根据右边的表达式推断变量类型
var text = "hello itheima";
sout(text);

2、新增字符串方法
在这里插入图片描述

3、新增创建集合的方式
	JDK11提供了通过of()和copyOf()创建集合的方式,但是创建的集合长度不可变,不能进行任何修改操作,of()会直接创建,
而copyOf()首先会判断传入的集合是否为不可变集合,是的话直接返回,不是的话,调用of()创建新集合并返回。
	var list = List.of("hello","itheima");
	var arrayList = new ArrayList<String>();
	var list2 = List.copyOf(arrayList);

4、Files类增强
	在Files类中新增两个方法:writeString和readString。可以把String内容写入文件或者把整个文件以String读出
	Files.writeString(Path.of("./", "demo.txt"), "hello,hh", "utf-8");
    String info = Files.readString(Paths.get("./demo.txt"),"utf-8");

5、HTTP Client Api重要的更新
	平时我们要去访问HTTP资源,大多数时间我们都是通过第三方完成的,虽然在JDK标准类库中有一个
HttpURLConnection,但是也不太好用。在JDK9就提出了HTTP Client Api,经过9,10两个版本的改
进,在11中正式发布。其同时支持同步请求和异步请求。
var request = HttpRequest.newBuilder() .uri(URI.create("http://www.hh.cn")) .POST() .build();
var client = HttpClient.newHttpClient();
// 同步
HttpResponse<String> response =client.send(request,HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
// 异步
client.sendAsync(request,HttpResponse.BodyHandlers.ofString()) .thenApply(HttpResponse::body).thenAccept(System.out::println);

6、更方便的编译运行
	#之前
	javac Demo.java
	java Demo
	#现在
	java Demo.java

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值