Java - 创建将数组作为参数传递的对象

时间:2013-01-03 21:10:11

标签: java

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

这是我的班级:

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});

感谢。

2 个答案:

答案 0 :(得分: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}声明称为匿名数组声明。

答案 1 :(得分:2)

GanGnaMStYleOverFlow 之外说

Java Language Specification - 10.6. Array Initializers说:

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

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

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

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