重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります。

本当に初歩な質問で申し訳ありません。

下記のようなことをしたいと思っています。

----------------

A a = new A(new int[] s={1,2,3});

-----------------

クラスの作成時に、配列を参照型でなく渡したいのですが、
当然、上記の書き方はエラーになります。

配列をnew することなく、引数で直接渡してやる方法を
教えてください。

以上、よろしくお願いいたします。

A 回答 (1件)

やりたいことがよくわかりません。



もしAのコンストラクタの定義が
 public A(int[] args)
という形になっているのであれば、
 A a = new A(new int[]{1, 2, 3});
でできますが……

 A a1 = new A(1, 2, 3);
 A a2 = new A(1, 2, 3, 4, 5);
というように引数を可変長にしたい場合はコンストラクタを
 public A(params int[] args)
としてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。

すみません。できました。

A a = new A(new int[]{1, 2, 3});です。

お手数をおかけしました。

申し訳ありませんでした。

お礼日時:2013/05/15 15:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!