在Java 9中,可以在匿名内部类中使用钻石操作符吗?

在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"};
      <strong>Iterator<String></strong> itr = new Iterator<strong><String></strong>() {      <strong>// Anonymous inner class</strong>
         int i = 0;
         public boolean hasNext() {
            return i < str.length;
         }
         public String next() {
            if(!hasNext()) {
               throw new <strong>NoSuchElementException()</strong>;
            }
            return str[i++];
         }
      };
      while(itr.hasNext()) {
         System.out.println(itr.next());
      }
   }
}

输出

<strong>Raja
Adithya
Jai
Chaitanya
Vamsi</strong>

以上就是在Java 9中,可以在匿名内部类中使用钻石操作符吗?的详细内容,更多请关注其它相关文章!