Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 익명 클래스와 함께 다이아몬드 연산자를 어떻게 사용할 수 있습니까?

<시간/>

다이아몬드 연산자 자바 7에 도입되었습니다. 코드를 더 읽기 쉽게 만들기 위해 익명 내부 클래스에는 사용할 수 없습니다. 자바 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