Java10于2018年3月发布,改进的关键点包括一个本地类型推断、一个垃圾回收的增强。
Java10计划只是一个短期版本,因此公开更新将在六个月内结束,9月份发布的Java11将是Java的长期支持(LTS)版本,LTS版本的发布每三年发布一次。
局部变量类型推断
基本概念
-
Java10可以使用var作为局部变量类型推断标识符,此符号仅适用于局部变量,增强for循环的索引,以及传统for循环的本地变量
-
它不能使用于方法形式参数,构造函数形式参数,方法返回类型,字段,catch形式参数或任何其他类型的变量声明
import java.util.LinkedList; import java.util.List; public class VarTest { public static void main(String[] args) { // 由初始值可以推断出变量的类型,因此可以使用var取代 //int num = 10; var num = 10; //List<Integer> list = new LinkedList<>(); var list = new LinkedList<Integer>(); list.add(10); for (var v : list) { System.out.println(v); } for (var i = 0; i < 10; i++) {} } }
实际意义
- 标识符var不是关键字,只是一个保留的类型名称
- 这意味着var用作变量,方法名或包名的代码不会受到影响,但var不能作为类或则接口的名字
- 避免了信息冗余
- 对齐了变量名
- 更容易阅读