1:局部变量类型推断

var :JDK10 中提供的保留类型
只针对局部变量
var 是保留类型不是关键字,意味着我们还可以用 var 来定义变量名和方法名
public static void main(String[] args){
var i =10;
var str = “abc”;
var list = new ArrayList<>();
list.add(“test”);

  1. var set = new HashSet<>();
  2. var user = new User();<br />}<br />注意:不允许赋值为 null<br />var aa = null;//错误

2:垃圾收集器的优化

Java9 的改变
新生代:ParNew
老年代:Paraller Old
JDK10:G1(Grabage -First)收集器:全收集器,既可以收集新生代又可以收集老年代。
分析工具
Java10 - 图1

3:新增的 API 功能

3.1:copyOf()方法

在 List,Set 和 Map 下新增了 copyOf 方法
拷贝后的集合不可修改
且是根据其迭代顺序拷贝的

3.2:Java.io.ByteArrayOutStream::toString(Charset)

对 toString 进行重载,可以指定编码,默认使用 UTF-8
String str = “中文测试”;
//将str以GBK编码转换成Byte转换成流
ByteArrayInputStream bis = new ByteArrayInputStream(str.getByte(“GBK”));

ByteArrayOutStream bos = new ByteArrayOutStream();

int c =0;
while((c=bis.read())!=-1){
bos.write(c);
}
System.out.println(bos.toString());
System.out.println(bos.toString(“GBK”));

3.3:PrintStream 和 PrintWrite 新增构造方法

Java10 - 图2

3.4:Reader::transferTo

3.5:Scanner 和 Formatter 新增构造方法

转载 https://www.yuque.com/jykss/jykss/zezf4y#VxCy7