声明一个数组并改变其内容

我正在编写测试代码来探索数组的属性。 为什么这样做

public static void main(String[] args){ int[] testing={1,2,3}; for(int i = 0;i<testing.length;i++){ System.out.println(testing[i]); } } 

为什么这不起作用?

 public static void main(String[] args){ int[] testing= new int[3]; testing = {1,2,3}; for(int i = 0;i<testing.length;i++){ System.out.println(testing[i]); } } 

有什么关于Array阻止它有效?

因为Java语言规范是这样说的

可以在声明(第8.3节,第9.3节,第14.4节)中指定数组初始值设定项,或者作为数组创建表达式(第15.10节)的一部分,以创建数组并提供一些初始值。

所以你可以像你现在一样使用它

 int[] testing = {1,2,3}; 

或作为数组创建表达式的一部分

 testing = new int[]{1,2,3};