java10新特性

java 10 新增了很多特性,我们针对较为突出的便于理解的特性进行说明。
除了下面罗列出的新特性之外还有一些其他的内容,这些内容对于初学者来说有的不便于理解,有的是不重要,所以没有罗列出来。

局部变量类型推断

在jdk10以前声明变量的时候,我们会像下面这样:

    String oldName = "jack";
    int oldAge = 10;
    long oldMoney = 88888888L;
    Object oldObj = new Object();

上面我们声明的时候使用了4种不同类型的变量,在jdk10中前面的类型都可以使用var来代替,JVM会自动推断该变量是什么类型的,例如可以这样写:

    var newName = "jack";
    var newAge = 10;
    var newMoney = 88888888L;
    var newObj = new Object();

注意:

当然这个var的使用是有限制的,仅适用于局部变量,增强for循环的索引,以及普通for循环的本地变量;它不能使用于方法形参,构造方法形参,方法返回类型等。

除了上面的新特性之外,还对jvm进行了一些优化,这里就不罗列了。