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

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

技术教程推荐

重学前端 -〔程劭非(winter)〕

TypeScript开发实战 -〔梁宵〕

说透中台 -〔王健〕

分布式系统案例课 -〔杨波〕

用户体验设计实战课 -〔相辉〕

陈天 · Rust 编程第一课 -〔陈天〕

现代C++20实战高手课 -〔卢誉声〕

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

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

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