我想从我的班级创建一个对象。我的类有一个数组属性,如何通过括号传递它?
这是我的班级:
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});
感谢。
答案 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});