হ্যাঁ, জাভা ৯ থেকে ডায়ামন্ড অপারেটর (diamond operator) অ্যানোনিমাস ইনার ক্লাস-এ ব্যবহার করা যায়।
ডায়ামন্ড অপারেটর ব্যবহারের উদ্দেশ্য হলো রিডান্ডেন্ট কোড এড়ানো এবং এক্সপ্রেশনের ডান পাশে জেনেরিক টাইপ আর লিখতে না হয় সেটি পঠনযোগ্য করা। ডায়ামন্ড অপারেটর শুধু নরমাল ক্লাস-এর জন্য ব্যবহৃত হতো, অ্যানোনিমাস ইনার ক্লাস-এর জন্য নয় জাভা ৭-এ। যদি আমরা অ্যানোনিমাস ইনার ক্লাসের জন্য এটি ব্যবহার করতাম, তবে কম্পাইলার এরর থ্রো করত।
উদাহরণ
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