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
廣告