Java9 - Diamond运算符

Java9 - Diamond运算符 首页 / Java入门教程 / Java9 - Diamond运算符

Diamond运算符在Java 7中引入,使代码更可读,但它无法与匿名内部类一起使用。在Java 9中,它可以与Annonmous类一起使用,并简化代码并提高可读性。在Java 9之前考虑以下代码。

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();
}

输出

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/java/java9-inner-class-diamond-operator.html

来源:LearnFk无涯教程网

1
2
Test

在Java 9中,无涯教程可以对匿名类使用<>运算符,如下所示。

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();
}

输出

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/java/java9-inner-class-diamond-operator.html

来源:LearnFk无涯教程网

1
2
Test

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

左耳听风 -〔陈皓〕

快速上手Kotlin开发 -〔张涛〕

邱岳的产品实战 -〔邱岳〕

人人都能学会的编程入门课 -〔胡光〕

如何看懂一幅画 -〔罗桂霞〕

Spark核心原理与实战 -〔王磊〕

跟着高手学复盘 -〔张鹏〕

说透低代码 -〔陈旭〕

云时代的JVM原理与实战 -〔康杨〕

好记忆不如烂笔头。留下您的足迹吧 :)