Javaコラム Javaエンジニアのためのお役立ちコラム

Javaでの複数戻り値について解説!配列やクラスなど複数の型を返却

2020年07月27日
SE
Javaの複数戻り値はどのように行えばよいのでしょうか。
PM
Javaでは戻り値を1つしか返却できませんが、様々の方法を用いることで複数の戻り値を返すことができます。方法はこれから説明していきます。

Javaでの複数の戻り値について

今回は、Javaにおける複数戻り値の返却方法について説明します。Javaの関数は、戻り値を1つしか返却できません。

複数の戻り値を返却するには、いくつかの方法があります。Javaにおける複数戻り値の返却方法に興味のある方はぜひご覧ください。

1つの戻り値を分解する

戻り値を分解することで、複数の値を取り出せます。以下のサンプルコードは、”:”をデリミタとして複数の値を取り出しています。

実行結果は以下のようになります。

この場合、”:”を戻り値の一部としたい(デリミタとしたくない)場合の考慮が必要です。また、戻り値がString以外の型の場合も何かしらの考慮が必要で、あまりスマートではありません。

配列で返却

複数の戻り値が同じデータ型の場合、配列を返却することで複数の値を取り出せます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、複数の戻り値が同じデータ型の場合、配列を返却することで複数の値を取り出せます。

複数の戻り値が、異なるデータ型の場合でも、Objectクラスの配列を利用すればよいです。実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、複数の戻り値が、異なるデータ型の場合でも、Objectクラスの配列を利用すれば、複数の値を取り出せます。

List型で返却

複数の戻り値が同じデータ型の場合、List型で返却することで複数の値を取り出せます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、複数の戻り値が同じデータ型の場合、List型で返却することで複数の値を取り出せます。

先ほど述べた配列の場合と同じように、複数の戻り値が異なるデータ型の場合でも、ObjectクラスのListを利用すればよいです。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、複数の戻り値が異なるデータ型の場合でも、ObjectクラスのListを利用すればよいです。

Map型で返却

JavaのMap型は2つの情報をキー(key)と値(value)のペアとして格納します。Objectクラスの値を格納したMapを返却することで、複数の値を取り出せます。

もちろん、値の型が決まっている場合は、Object型でなくても構いません。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、Objectクラスの値を格納したMapを返却することで、複数の値を取り出せます。

同じような型として、Java8以降で使用できるjavafs.util.Pair型もあります。

クラスで返却

Javaのクラスオブジェクトを返却し、そのオブジェクトのフィールドを呼び出すことで、複数の値を取り出せます。

実際のソースコードを見てみましょう。

実行結果は以下のようになります。

このように、クラスオブジェクトを返却し、そのオブジェクトのフィールドを呼び出すことで、複数の値を取り出せます。

SE
様々な方法を用いることで、複数の値を返すことができるのですね。
PM
ぜひ自分でソースコードを書いてみてください。そうすると、理解も深まりますよ。

Javaのソースコードの理解を深めよう

Javaの関数で返却できる値は1つです。しかし、配列・List型・Map型・クラスオブジェクトを返却することで、複数の値を取り出せます。

ぜひご自身でJavaのソースコードを書いて、理解を深めてください。


Javaでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

recommended

Categories

Tags