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 に答える