2022-10-25
鉆石 操作符 public content
第六關 泛型和鉆石的“神秘關系”
小伙伴看到鉆石是不是特別嗨,學泛型還有鉆石呢?非也!在這里這個鉆石指的是一種符號,我們開發者又稱之為鉆石操作符
1. 鉆石操作符介紹
鉆石操作符是在 java 7 中引入的,鉆石操作符其實就是 < > ,可以在里面定義泛型,讓代碼更易讀,但它不能用于匿名的內部類。
如下所示:
List<Integer> list = new ArrayList<>();// <> 鉆石操作符,java 7 以后可以使用
//在java7中: 如果使用匿名內部類,<> 鉆石操作符不能直接使用
public class GenericDemo {
public static void main(String[] args) {
Operation<Integer> intOperation = new Operation<Integer>(1) {
@Override
public void handle() {
System.out.println(content);
}
};
intOperation.handle();
}
}
//定義一個抽象類:用來創建匿名內部類
abstract class Operation<T> {
public T content;
public Operation(T content) {
this.content = content;
}
abstract void handle();
}
2.鉆石操作符之JDK9新特性
鉆石操作符是在 java 7 中引入的,但它不能用于匿名的內部類。 在java 9中可以直接使用
如下所示:
//在java9中: 如果使用匿名內部類,<> 鉆石操作符也可以直接使用
public class GenericDemo {
public static void main(String[] args) {
Operation<Integer> intOperation = new Operation<Integer>(1) {
@Override
public void handle() {
System.out.println(content);
}
};
intOperation.handle();
}
}
//定義一個抽象類:用來創建匿名內部類
abstract class Operation<T> {
public T content;
public Operation(T content) {
this.content = content;
}
abstract void handle();
}
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號