0

我想从我的班级创建一个对象。我的类有一个数组属性,如何通过括号传递它?

这是我的课:

private String Description;
private int[] Data = {0, 0, 0, 0, 0, 0, 0, 0, 0};
    public Key(String Desc, int[] d)
{
    Description = Desc;
    Data = d;
}

这就是我创建对象的方式:

Key k1 = new Key("Shoham's Key", {0, 5 , 6, 4, 3, 2, 7, 1, 9});

谢谢。

4

2 回答 2

10
Key k1 = new Key("Shoham's Key", new int[] {0, 5 , 6, 4, 3, 2, 7, 1, 9});

注意:new int[] {0, 5 , 6, 4, 3, 2, 7, 1, 9}声明称为匿名数组声明。

于 2013-01-03T21:11:09.347 回答
2

除了GanGnaMStYleOverFlow说的

Java 语言规范 - 10.6。数组初始化器说:

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

因此,当作为参数传递时,您无法初始化数组。

所以不允许使用底部语句:

Key k1 = new Key("Shoham's Key", {0, 5 , 6, 4, 3, 2, 7, 1, 9});
于 2013-01-03T21:17:32.020 回答