Java 9中增强的“菱形”语法
在Java 9中,增强了“菱形”语法的使用。在之前的Java版本中,使用菱形操作符时需要在构造函数中重复写出泛型的类型参数。而在Java 9中,可以通过菱形操作符<>自动推断出泛型的类型参数,代码更加简洁。
举个例子,假设有一个泛型类Box:
class Box<T> {
private T item;
public Box(T item) {
this.item = item;
}
public T getItem() {
return item;
}
public void setItem(T item) {
this.item = item;
}
}
在Java 9之前,我们需要在构造函数中明确指定泛型的类型:
Box<String> box = new Box<String>("Hello");
而在Java 9中,可以使用菱形操作符,自动推断泛型的类型:
Box<String> box = new Box<>("Hello");
这样,代码更加简洁,同时也减少了重复的代码。需要注意的是,在使用菱形操作符时,对于匿名内部类必须明确指定泛型的类型,例如:
List<String> list = new ArrayList<>() {
//...
};
总之,在Java 9中,增强的“菱形”语法使代码更加简洁易读,同时也减少了冗余的代码。