クラスコンストラクタで配列を初期化する

私は簡単にこのような配列を作成することができます:

int[] someArray = {1,2,3}

それはいいですね。さて、私はSomeClassの新しいオブジェクトをインスタンス化したいと言うと、コンストラクタはパラメータとしていくつかの配列を取る、私は次のことを行うことはできませんか?

SomeClass someObject = new SomeClass ({1,2,3},{'h','i'})

コンストラクタで配列を初期化するにはどうすればよいですか?

1

3 答え

できるよ

new SomeClass (new int[] {1,2,3}, new char[] {'h','i'})
8
追加された
ガー、もちろん!私はすでにint [] {1,2,3}でそれをやってみました。
追加された 著者 Johan,

その理由は、単にこれを扱う特別な構文的砂糖があるという理由だけです。

int[] someArray = {1,2,3};

これを意味する:

int[] someArray = new int[] {1,2,3};

new int [] {1,2,3} が出現する可能性のある他の場所には特別な構文砂糖はありません。

2
追加された

やったほうがいい:

SomeClass someObject = new SomeClass (new int[] {1,2,3}, new char[] {'h','i'})
2
追加された
私は文字が char
追加された 著者 Peter Lawrey,
私の間違いは修正されました。
追加された 著者 jli,