<目次>
(1) Javaのメソッドで複数の戻り値を返却する方法
(1-1) 同じ型の値を複数返却したい場合 ⇒ 配列やList
◎ポイント
◎サンプル
(1-2) 異なる型の関連する値を複数返却したい場合 ⇒ インスタンス
◎ポイント
◎サンプル
(1) Javaのメソッドで複数の戻り値を返却する方法
(1-1) 同じ型の値を複数返却したい場合 ⇒ 配列やList
同じ型の値を複数返却したい場合、例えば名簿の名前一覧(String型)などのリストを返却したいケースなどは「配列」や「List」を返却するのが手軽で便利です。
◎ポイント
メソッドの戻り値が、intやbooleanといった基本データ型ではなく、配列やList(例ではArrayList)になっているのがポイントです。
◎サンプル
ArrayListはX座標、Y座標、Z座標の情報を持っており、それをreturnで一気に返却しています。
import java.util.ArrayList;
public class IT0xxx_ReturnMultipleValues {
public static void main(String args[]) {
//(1)の実行・結果取得
ArrayList<Double> zahyou = getCoordinate(1.0,4.0,2.0);
System.out.println("# (1) : "+zahyou);
}
//# (1)同じ型の値を複数返却したい場合 → 配列やArray
//# →(例)XYZ座標を表す情報を返却
static ArrayList<Double> getCoordinate(double x,double y,double z) {
//# X,Y,Z座標を1つのArrayListに入れて返却
ArrayList<Double> coordinate = new ArrayList<Double>();
coordinate.add(x);
coordinate.add(y);
coordinate.add(z);
return coordinate;
}
(図111)

(1-2) 異なる型の関連する値を複数返却したい場合 ⇒ インスタンス
1つ以上の関連する値(異なる型も可)を返却する場合は、それらをクラスの「メンバ変数」として一纏めにして返却するのが手軽で便利です。
◎ポイント
メソッドの戻り値が、intやbooleanといった基本データ型ではなく、独自で定義したクラス型(例:Fruits2)のインスタンスになっているのがポイントです。
static Fruits2 getFruits(・・中略・・){
Fruits2 fruits = new Fruits2(・・中略・・)
//中略
Return fruits;
}
◎サンプル
Fruitsクラスは「名前」「価格」「原産地」の情報を持っており、それをreturnで一気に返却しています。
public class IT0xxx_ReturnMultipleValues2 {
public static void main(String args[]) {
//(2)の実行・結果取得
Fruits2 fr = getFruits("りんご",200,"青森");
System.out.println("# (2) : "+fr.toString());
}
//# (2)異なる型の関連する値を複数返却したい場合 → インスタンス
//# →(例)フルーツを表す「Fruits」クラスのインスタンスを返却
static Fruits2 getFruits(String name,int price,String madein) {
//# フルーツ名前、価格、原産地を1つのインスタンスに入れて返却
Fruits2 fruits = new Fruits2(name,price,madein);
return fruits;
}
}
(図121)
