JDK10新增方法部分简介

1、局部变量类型推断

JDK10最重要的更新作者感觉就是局部变量类型推断,类似于JS,这里采用了var。

	 var i = 10;
	 var str="abc";
	 var list = new ArrayList<>();
	 list.add("list test var");
	 var set = new HashSet<>();
	 set.add("set test var");
	 var map = new HashMap<String,String>();
	 map.put("test", "map test var");
	 var users = new Users();
	 //我们定义好了Users类
	 
	 System.out.println(i);
	 System.out.println(str);
	 for(var i1=0;i1<list.size();i1++) {
		 System.out.println(list.get(i1));
	 }
	 for(var temp :set) {
		 System.out.println(temp);
	 }
	 
	 Set<String> keys = map.keySet();
	 for(var key :keys) {
		 System.out.println(map.get(key));
	 }
	 System.out.println(users);

这里我们有几点需要说明的这里的var类型只能用于局部变量,不能用于类的成员变量

var:保留类型,不是关键字。我们依然可以定义var的变量名或者方法名。

var类型不许为空。原因很简单,如果赋值为空,则var不能推断出是什么类型的变量

2、Garbage-Frist全收集器

JDK10,采用G1全收集器用于回收垃圾

3、copyOf方法

新增copyOf方法

在java.util.List、java.util.Set、java.util.Map新增加了一个静态方法copyOf

这些方法按照其迭代顺序返回一个不可修改的列表、集合或映射包含了给定的元素的集合。

例如:

var list = new ArrayList<String>();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		
var list2 = List.copyOf(list);

4、Java.io.ByteArrayOutputStream:toString(Charset)

新增的方法,可以指定字符集

5、Java.io.PrintStream、java.io.PrintWriter

新增构造方法,也可以指定字符集

6、Java.io.Reader:transferTo方法

从这个Reader中读取所有字符串,并按照所读取的顺序将字符串写入给指定的Writer

var reader = new BufferedReader(new InputStreamReader(new FileInputStream("/aa.txt"), "gbk"));
		var p = new PrintWriter(new File("bb.txt"));
		reader.transferTo(p);
		p.flush();
		p.close();
		reader.close();
//异常抛出

可以实现文件的copy。

7、java.util.Formatter、java.util.Scanner

var scan = new Scanner(new FileInputStream(new File("aa.txt")),"gbk");
		scan.useDelimiter(" ");
		while(scan.hasNext()) {
			System.out.println(scan.next());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值