1:局部变量类型推断
var :JDK10 中提供的保留类型
只针对局部变量
var 是保留类型不是关键字,意味着我们还可以用 var 来定义变量名和方法名
public static void main(String[] args){
var i =10;
var str = “abc”;
var list = new ArrayList<>();
list.add(“test”);
var set = new HashSet<>();
var user = new User();<br />}<br />注意:不允许赋值为 null<br />var aa = null;//错误
2:垃圾收集器的优化
Java9 的改变
新生代:ParNew
老年代:Paraller Old
JDK10:G1(Grabage -First)收集器:全收集器,既可以收集新生代又可以收集老年代。
分析工具
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”));