小白教程
所有教程
关于
Search
172.70.130.156
172.70.130.156
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Java9 inner class diamond operator”的源代码
本页内容
上一节:
Java9_enhanced_deprecated_annotation
下一节:
Java9_optional_class_improvements
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:内部类的钻石操作符(Diamond Operator)}}[[Category:java9 new features|11]] = Java 9 钻石操作符(Diamond Operator) = [[java9 new features|Java 9 新特性]] 钻石操作符是在 java 7 中引入的,可以让代码更易读,但它不能用于匿名的内部类。 在 java 9 中, 它可以与匿名的内部类一起使用,从而提高代码的可读性。 考虑以下 Java 9 之前的代码: <sample title="" desc="" lang="java" hererun="1"> public class Tester { public static void main(String[] args) { Handler<Integer> intHandler = new Handler<Integer>(1) { @Override public void handle() { System.out.println(content); } }; intHandler.handle(); Handler<? extends Number> intHandler1 = new Handler<Number>(2) { @Override public void handle() { System.out.println(content); } }; intHandler1.handle(); Handler<?> handler = new Handler<Object>("test") { @Override public void handle() { System.out.println(content); } }; handler.handle(); } } abstract class Handler<T> { public T content; public Handler(T content) { this.content = content; } abstract void handle(); } </sample> 执行输出结果为: <pre>1 2 Test</pre> 在 Java 9 中,我们可以在匿名类中使用 <> 操作符,如下所示: <sample title="" desc="" lang="java" hererun="1"> public class Tester { public static void main(String[] args) { Handler<Integer> intHandler = new Handler<>(1) { @Override public void handle() { System.out.println(content); } }; intHandler.handle(); Handler<? extends Number> intHandler1 = new Handler<>(2) { @Override public void handle() { System.out.println(content); } }; intHandler1.handle(); Handler<?> handler = new Handler<>("test") { @Override public void handle() { System.out.println(content); } }; handler.handle(); } } abstract class Handler<T> { public T content; public Handler(T content) { this.content = content; } abstract void handle(); } </sample> 执行输出结果为: <pre>1 2 Test</pre> [[java9 new features|Java 9 新特性]]
返回至“
Java9 inner class diamond operator
”。
上一节:
Java9_enhanced_deprecated_annotation
下一节:
Java9_optional_class_improvements