首页 > 文章列表 > 在Java 9中,我们如何使用钻石操作符与匿名类?

在Java 9中,我们如何使用钻石操作符与匿名类?

458 2023-08-29

Java 7中引入了钻石操作符,以使代码更易读,但无法用于匿名内部类。在Java 9中,可以使用钻石操作符与匿名内部类一起,以提高代码的可读性。

在Java 9中,我们可以像下面这样在匿名类中使用钻石<>操作符

示例

public class DiamondOperatorTest {
   public static void main(String args[]) {
      Handler<Integer> intHandler = new Handler<>(1) {
         @Override
         public void handle() {
            System.out.println(data);
         }
      };
      intHandler.handle();

      Handler<? extends Number> intHandler1 = new Handler<>(2) {
         @Override
         public void handle() {
            System.out.println(data);
         }
      };
      intHandler1.handle();

      Handler<?> handler = new Handler<>("test") {
         @Override
         public void handle() {
            System.out.println(data);
         }
      };
      handler.handle();
   }
}

abstract class Handler<T> {
   public T data;
   public Handler(T data) {
      this.data = data;
   }
   abstract void handle();
}

输出

1
2
test