<目次>
(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)