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

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

技术教程推荐

从0开始学游戏开发 -〔蔡能〕

数据中台实战课 -〔郭忆〕

代码之丑 -〔郑晔〕

基于人因的用户体验设计课 -〔刘石〕

Spring编程常见错误50例 -〔傅健〕

Go 语言项目开发实战 -〔孔令飞〕

全链路压测实战30讲 -〔高楼〕

云计算的必修小课 -〔吕蕴偲〕

AI 应用实战课 -〔黄佳〕

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