java10特性
语法变更
局部变量类型推断
ArrayList<String> list = new ArrayList<>();var a = 10; // 根据等号后面的数据类型,推断变量的数据类型为10
var date = new Date(); // 推断类型为Date
// 没有初始值,无法推断
var c; // 报错
// null值,无法推断
var d = null; // 报错
// lambda 无法辨别匿名内部类的类型,无法推断
var supplier = () -> Math.random(); // 报错
// 方法返回值不可推断
public var test(); // 报错
// 方法的参数不可推断
public void test2(var data); // 报错
// 成员变量不可推断
class Person {
private var name;
}
// catch块不可推断
try {} catch (var e) {}API变更
集合新增copyOf方法创建只读集合
最后更新于