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