在第二个程序中,
{ ... }are不是数组定界符,它们是块定界符;在这种情况下,它们用于提供所谓的初始化块,该初始化块在实例化类的新实例时执行。创建初始化数组的“正确”方法是:
new byte[] { 1, 2, 3 };在初始化引用,使用现有引用或将数组传递给方法时,都可以始终使用它:
byte[] myArray = new byte[] { 1, 2, 3 }; // OKmyArray = new byte[] { 4, 5, 6 };// OKanObject.someMethod(new byte[] { 7, 8, 9}); // OK但是,第一种变体非常普遍,因此Java允许您 在特定情况下
new byte[]省略该部分: __
byte[] myArray = { 1, 2, 3 }; // OKmyArray = { 4, 5, 6 };// Does not compileanObject.someMethod({ 7, 8, 9}); // Does not compile


