ได้ เราสามารถใช้ตัวดำเนินการเพชรกับคลาสภายในที่ไม่ระบุตัวตนได้ตั้งแต่ 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