• ベストアンサー

Javaで「…」とは?

あるメソッドの引数に (Object… items, ) のような記述があったのですが、この3点リーダはどんな意味があるのでしょうか?

  • Java
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • sh_hirose
  • ベストアンサー率66% (56/84)
回答No.2

例えば以下のようなメソッドがあるとします。 public void systemout(String... strs) { for( String str : strs ) { System.out.println(str); } } このメソッドを実行するときは systemout("A"); systemout("A", "B"); systemout("A", "B", "C"); String[] abc = {"A", "B", "C"} systemout(abc); このどれでも正常に実行されます。 つまり上記の例だと文字列の引数をいくつでも指定してかまわないということです。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「3点リーダ」じゃなくて「ピリオド 3個」です. 可変長引数.

関連するQ&A

  • javaについてです。

    こちらのプログラミング全文を教えて下さい。 mainメソッドとは別に、以下の2つのメソッドを定義しなさい  メソッド1   2つの整数を引数に取り、その和を返すメソッド  メソッド2   3つの整数を引数に取り、    <引数(日)> と <引数(月)> の和は <引数(火)> です。   と出力するメソッド。   但し、戻り値は何も返してはいけない。 また、メソッド1とメソッド2を使って、  1+2、3+4、5+6 の結果を表示するプログラムをmainメソッドに作成しなさい。 但し、mainメソッドで足し算、System.out.printlnを使用してはいけない。 以上よろしくお願い致します。

    • ベストアンサー
    • Java
  • Javaのハッシュコードについて

    SunJava2認定ガイドでJavaを勉強している初心者ですが、「オブジェクトとコレクション」を説明した章(第7章)に、 ・2つのオブジェクトがequals()メソッドで等しいと判定された場合、 両者のハッシュコード値は同じでなければならない ・2つのオブジェクトを等しいと見なすためには、両者のハッシュコー ドも等しくなければならない という記述がありますが、この2つのオブジェクトのハッシュコードというのは2つのオブジェクトを指すそれぞれの参照変数であると理解していいのでしょうか? … もしそうであるなら、2つのオブジェクトが等しいという意味は、2つのオブジェクトは同一であるということを意味することになるのでしょうか  どなたかご教示ください

  • javaのメソッド呼び出し

    javaで質問があります。メソッドを呼び出すとき、 クラス.メソッド(引数)だと思いますが、 「.」が2つあるものがあります。 どういったものでしょうか? あるプログラムに Code.PerComFlag.ReCom.equals(atmlogDTO.getatmComFlg()) のがありました。 また、javaの本に System.out.println(・・・) という記述もあります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javaについてです。

    このプログラミング全部を教えて下さい。 staticでないものでお願いします。 ●CustomerManagerクラスに以下のフィールドを作成する  ・他のクラスからアクセスできない長さ5のCustomerCardの配列  ・整数型フィールド(名称:index、初期値0) ●CustomerManagerクラスに以下のメソッドを作成する   ・メソッド1  メソッド名:addCustomerCard  引数1:整数型  引数2:文字列型  動作:    ・配列のindex番目にCustomerCardインスタンスを作成    ・作ったインスタンスに引数の2つを設定    ・indexを1増やす ・メソッド2  メソッド名:printAllInfo  引数なし  動作:   配列にいれられた全てのCustomerCardの情報を表示する ●mainメソッドを以下のように修正する  addCustomerCardメソッドを使って以下の情報を登録する     ID = 1 , 名前 = "山田一郎"   ID = 2 , 名前 = "鈴木太郎"   ID = 3 , 名前 = "田中次郎"  printAllInfoメソッドを使って登録された全ての情報を表示する 以上よろしくお願い致します。

    • ベストアンサー
    • Java
  • Android / AsyncTaskの第1引数

    ■コード Hoge hoge = new Hoge(); hoge.execute(); public class Hoge extends AsyncTask<Object, 第2引数, 第3引数> {  protected List<Piyo> doInBackground(Object... params) { ■質問1 ・executeで引数を渡していないに、なぜ引数を受け取れるのでしょうか? (doInBackgroundメソッド引数として受け取っているで合っている?) ・処理の流れ的には、executeで渡した引数がdoInBackgroundメソッド引数となり、その型をAsyncTask第1引数で指定している? ・それとも、executeで渡す引数の型をAsyncTask第1引数で指定しているから、予め指定された型のみをdoInBackgroundメソッド引数として受け取れる? ■質問2 ・リンク先に、下記主旨の記述があるのですが、「自分で好きに型を選択できる」とはどういう意味なのでしょうか? >冒頭の型変数のParamsはdoInBackgroundメソッドの引数で、自分で好きに型を選択できる >execute()メソッドの引数に渡されたものがこのdoInBackgroundのparamsとして渡ってくる ・paramsとして渡された型を、AsyncTask第1引数で宣言することで自由に変更できる? ・それとも、AsyncTask第1引数で指定することで、doInBackgroundのparamsとして渡されてくる型を制限(指定)できる? http://d.hatena.ne.jp/Nagise/20120309/1331265123

    • ベストアンサー
    • Java
  • Javaのプログラミングについてご指導お願いします。

    現在Javaを勉強しています。 このたび下記の実行結果となるように、次のソースにコードを追加しなくてはいけなくなったのですが、どうすればよいかわからずまったく手をつけることができません。 【ソース】 ・ Shopping.java class Shopping { public static void main(String args[]) { Fruit fruit; //下で生成するFruitクラス型オブジェクト名の定義 int price = 0; //商品検索結果(単価)を格納する変数 switch(args.length){ //コマンドライン引数の個数を判定 case 1: //コマンドライン引数が1つ(商品名のみ)の場合の処理を記述 //****** 以下、コメントに対応するコードを追加し、処理を完成させます ********* // Fruitクラスのオブジェクトを生成 // 商品検索(Fruitクラスのsearch()メソッドを実行) // 結果表示(Fruitクラスのdisplay ()メソッドを実行) case 2: // コマンドライン引数が2つの場合の処理を記述 //****** 以下、コメントに対応するコードを追加し、処理を完成させます ********* // Fruitクラスのオブジェクトを生成 // 商品検索(Fruitクラスのsearch()メソッドを実行) // 結果表示(Fruitクラスのdisplay ()メソッドを実行) default: // コマンドライン引数が1つ,2つ以外の場合の処理を記述 //****** 以下、コメントに対応するコードを追加し、処理を完成させます ********* // 引数の個数が違うエラーメッセージを表示する } } } ・ Fruit.java public class Fruit{ // インスタンス変数の定義 private String fName; //商品名 private int fNum; //個数 // 商品リストの登録(商品名、単価) String[][] fruittable = { {"Strawberry","500"},{"Apple","150"},{"Orange","100"}, {"Mango","1500"},{"Banana","200"},{"Peach","400"} }; // 商品名と個数を引数にもつコンストラクタの定義 //****** ここにコンストラクタの定義を追加します ********* //search()メソッド 単価を戻す int search(){ //search()メソッドの戻り値retval int retval = -1; //****** 以下、コメントに対応するコードを追加し、処理を完成させます ********* //商品リストにコマンドライン引数から入力した商品名と同じ商品名があるか検索し、 //見つかった場合は単価を戻す。見つからなかった場合は、-1を戻す。 } // display ()メソッド 引数として単価を受け取る void display(int price){ //****** 以下、コメントに対応するコードを追加し、処理を完成させます ********* // 商品名、単価、個数、合計金額を画面に表示する // 商品名が見つからなかった場合には、エラーメッセージを表示する } } 【実行結果】 ☆ 商品名と個数を入力すると、商品名、単価、個数、合計金額を表示する(個数が入力されない場合は1個とみなす) > java Shopping Orange 商品:Orange 単価:100円 個数:1個 合計:100円 > java Shopping Orange 3 商品:Orange 単価:100円 個数:3個 合計:300円 ☆ 商品が見つからなかった場合には、エラーメッセージを表示する > java Shopping Melon 3 Melonは商品ではありません。 ☆ 引数の数が0または3つ以上の場合は、エラーメッセージを表示する > java Shopping Orange Apple Peach 引数には商品名と個数を入力してください。 【条件】  (1) Shoppingクラスはmain()メソッドを持つ。  (2) 実行時の引数に商品名と個数を入力する。個数が入力されなかった場合は1とみなす。  (3) Fruitクラスのsearch()メソッドは、商品が存在するかどうかを検索するメソッドで、商品が存在した場合は単価を戻す。商品が見つからなかった場合には-1を戻す。  (4) Fruitクラスのdisplay ()メソッドは、商品名、単価、個数から合計金額を計算して表示するメソッドである。商品が登録されていない場合はメッセージを表示する。 Javaの先輩方に、どのようにコードを打てばよいのかご解説頂ければと思います。 恐れ入りますがよろしくお願いします。

  • オブジェクト指向で分からないことが。

    オブジェクト指向で分からないことが。 1.クラスAから、文字列引数を指定して、クラスBがインスタンス化されたオブジェクトを取得する。 (getInstance的メソッド)引数の文字列にマッピングされたオブジェクトを取得する感じ。 2.1.で取得したオブジェクトから、各オブジェクトを取得するメソッドを呼び出し、オブジェクトを取得する。(仮にクラスC) 3.2.で取得したクラスCのメソッドを呼び出す。 このとき、クラスCのメソッド内で、1.で利用された引数を利用したいです。 そもそもクラスCは、1.を経てしか取得されないものの為、再度1.の引数を渡したくありません。 内部的な値なので、スコープpublicのセッターを用意して、クラスA内からの書き換えが出来ては困ります。 こういう場合、どういうクラス設計を行えば良いのでしょうか?

    • ベストアンサー
    • Java
  • コンストラクタの引数の中のnew?

    はじめまして☆ java初心者ですが、意味がわからなくて困っています。 オブジェクトをnewする時、たまにコンストラクタの引数部分に newの記述がある時があるのですが、これはどういう意味でしょうか? (何のオブジェクトを作成しているのでしょうか?) よかったら、教えてください。

    • ベストアンサー
    • Java
  • javaのソースコードがわかりません

    初心者には難しすぎるのでおしえてください。 クラス名 Advance5 ※main()メソッドがあるクラス Sub5_StaticCheck 指示 Advance5 クラス main()メソッド Sub5_StaticCheck クラスのcallDisp()メソッドを呼び出す ※インスタンスを生成せずに実行 Sub5_StaticCheck クラス callDisp()メソッド 定義 修飾子 : public キーワード : static 戻り値の型 : void 引数 : なし 指示 disp()メソッドを実行する その際、BufferedReader クラスを使用してキーボードから文字列を1 つ入力し、入力した文字列を引数として1つ渡す disp()メソッド 定義 修飾子 : public 戻り値の型 : void 引数 : String 型の値を1つ 指示 引数で受け取った値を表示する

  • List型の引数を設定する方法

    複数の名前などを setName(List<String> NameList) ↑こんな感じのメソッドに渡してセットしたいのですが、 この時setName()メソッドを呼び出す時の引数に 複数の名前を同時に入れるには、どういう記述の仕方を したらよいと思いますか? ちなみに、この時点ではまだListの生成をしてはいけなくて、 メソッドに格納した後Listを生成、getName()メソッドから オブジェクトを取得するようにしたいのですが・・・ いまいちListって分かりません。

専門家に質問してみよう