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

更新於:21-Feb-2020

已檢視 118 次

開啟你的 職業生涯

完成課程獲得認證

開始
廣告