戻り値として配列を返す

広告

戻り値は基本データ型の値だけではなくクラスオブジェクトや配列を返すこともできます。戻り値に指定できる値は一つだけですが、戻り値に複数の要素を持つ配列を指定すれば結果的に複数の値を呼び出し元に返すことも可能です。

次の例を見てください。

public static void main(String args[]){
  int data[];

  data = test();
  System.out.println(data[0]);
  System.out.println(data[1]);
}

private static int[] test(){
  int data[] = new int[2];
  data[0] = 10;
  data[1] = 19;

  return data;
}

この例ではメソッド内で新規に配列を作成し、配列の要素に値を代入してから戻り値として呼び出し元に返しています。

戻り値として指定した変数には配列の場所の位置が格納されています。呼び出し元には配列の位置が返されてきますので、それを代入した配列はメソッドで定義した配列と同じ位置を指し示すことになり、呼び出し元からも配列の要素を取り出すことができます。

Javaの配列では各要素には同じデータ型の値しか格納することができませんが、複数の値を複数の要素に格納した配列を戻り値として呼び出し元に返すことで複数の値を返すことができます。

サンプル

では簡単な例で試しておきます。

JSample6_1.java

class JSample6_1{
  public static void main(String args[]){
    int data[];

    data = init();
    System.out.println(data[0]);
    System.out.println(data[1]);
  }

  private static int[] init(){
    int data[] = new int[2];
    data[0] = 10;
    data[1] = 19;

    return data;
  }
}

コンパイル後に実行すると次のように表示されます。

p6-1

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)