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

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


ได้ เราสามารถใช้ตัวดำเนินการเพชรกับคลาสภายในที่ไม่ระบุตัวตนได้ตั้งแต่ Java 9 .

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

ในตัวอย่างด้านล่าง เราได้ใช้ตัวดำเนินการเพชรที่มีคลาสภายในที่ไม่ระบุตัวตน

ตัวอย่าง

import java.util.*;
public class DiamondOperatorTest {
   public static void main(String args[]) {
      String[] str = {"Raja", "Adithya", "Jai", "Chaitanya", "Vamsi"};
      Iterator<String> itr = new Iterator<String>() {      // Anonymous inner class
         int i = 0;
         public boolean hasNext() {
            return i < str.length;
         }
         public String next() {
            if(!hasNext()) {
               throw new NoSuchElementException();
            }
            return str[i++];
         }
      };
      while(itr.hasNext()) {
         System.out.println(itr.next());
      }
   }
}

ผลลัพธ์

Raja
Adithya
Jai
Chaitanya
Vamsi