Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะใช้ไดมอนด์โอเปอเรเตอร์กับคลาสนิรนามใน Java 9 ได้อย่างไร?


ตัวดำเนินการเพชร ได้แนะนำใน Java 7 เพื่อทำให้โค้ดอ่านง่ายขึ้น และไม่สามารถใช้กับคลาสภายในที่ไม่ระบุตัวตนได้ ใน Java 9 , ตัวดำเนินการเพชรสามารถใช้กับ ชั้นในที่ไม่ระบุชื่อ เพื่อปรับปรุงความสามารถในการอ่านโค้ด

ใน Java 9 เราสามารถใช้โอเปอเรเตอร์ diamond <> ในคลาสนิรนามดังต่อไปนี้:

ตัวอย่าง

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