Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Java

Javaのメソッドで複数の戻り値を返却する方法

投稿日:2021年5月26日 更新日:

<目次>

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

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Twitter APIのRate Limit Exceedエラー(code – 88)の意味について

  <目次> (1) Twitter APIのRate Limit Exceedエラー(code – 88)の意味について  (1-1) APIコールのリミット(Rate Limit)につい …

JSP/Servletで画面毎のアクセスカウンターを作成してみた(パート1:仕様説明編)

(0)目次&概説 (1) 仕様について  (1-1) アーキテクチャ(アプリ/DB)  (1-2) アプリの仕様概要  (1-3) データベースの仕様概要 (2) ソースコード (3) エラー対応 ( …

InputStreamやInputStreamReaderやBufferedReaderの機能や役割の違い+速度測定で比較をした結果共有

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) InputStreamやBufferedReaderとは?  (2-1) 概要  (2-2) InputStr …

Javaのアーキテクチャ概要やプログラムのコンパイルから実行までの流れ

(0)目次&概説 (1) 記事の目的  (1-1) 目的 (2) Javaのアーキテクチャ概要・概観  (2-1) プログラムのコンパイル~実行の流れ  (2-2) Javaアーキテクチャの特徴    …

JavaのArrrayListとLinkedListの違いについて

<目次> (1) JavaのArrrayListとLinkedListの違いについて  (1-1) 比較表(ArrayList vs LinkedList)  (1-2) まとめ  (1-3) 参考 …

  • English (United States)
  • 日本語
Top