java foreach和匿名数组的问题

public class Exp1 {
    public static void main(String[] args) {
        //int[] {2,5,7,123};
        for (int a:new Integer[] {1,2}) {
            System.out.println(a);
        }

        for (int a:int[] {3,4}) {
            System.out.println(a);
        }
    }
}

请问,为什么第一个for循环编译输出正常,但是第二个for循环编译就出错了,不是很理解额

阅读 3.4k
2 个回答

遍历的对象必须是object,而不是基本类型。数组类型不是类,但数组实例是对象。但是这个情况下你的数组还没有变成实例,所以报错了。

第二个语法都不对。Java里没有这种写法。

for (int a:new int[] {3,4}) {
    System.out.println(a);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题