在 Java 9 中,钻石运算符可以与匿名内部类一起使用吗?

javaobject oriented programmingprogramming更新于 2025/7/15 0:12:17

是的,从 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

相关文章


有用资源