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号