Java の関数から何も返さない
Mohammad Irfan
2023年10月12日
このチュートリアルでは、Java の関数で何も返さない方法を紹介します。
シグニチャに戻り型が含まれるすべての関数は、同じ型の値を返す必要があります。そうしないと、コンパイルでエラーが発生し、コードが実行されません。これは、戻り値が呼び出し元の関数に返される値であることを意味します。何も返さない場合は、デフォルト値を返す必要があります。
たとえば、このような状況を処理するために、文字列型の場合は null
を返し、整数値の場合は 0
を返すことができます。いくつかの例で理解しましょう。
Java の整数関数で何も返さない
この例では、整数を返す静的メソッドがありますが、特別な場合には何も返さないようにしたいので、0
のみを返します。返す整数はありませんが、目的を達成するためにこれを行うことができます。
以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
int result = getMax(12, 12);
System.out.println(result);
}
public static int getMax(int a, int b) {
if (a > b) {
return a;
} else if (b > a) {
return b;
}
return 0; // similar to nothing in int
}
}
出力:
0
Java の文字列関数で何も返さない
この例では、文字列を返す静的メソッドがありますが、特別な場合には何も返さないようにし、null
のみを返します。String には何も返すものはありませんが、目的を達成することはできます。
以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
String result = getMax("rohan", "sohan");
System.out.println("result " + result);
result = getMax("sohan", "sohan");
System.out.println("result " + result);
}
public static String getMax(String a, String b) {
if (a.compareTo(b) > 0) {
return a;
} else if (a.compareTo(b) < 0) {
return b;
}
return null; // similar to nothing in String
}
}
出力:
result sohan
result null
Java のオブジェクト関数で何も返さない
この例では、整数オブジェクトを返す静的メソッドがありますが、特別な場合には何も返さないようにし、null
は Java のオブジェクトのデフォルト値であるため、null
のみを返します。返されるオブジェクトには何もありませんが、目的を達成することができます。
これは他のオブジェクトにも使用できます。以下の例を参照してください。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SimpleTesting {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(23);
list.add(32);
list.add(33);
System.out.println(list);
Integer result = getMax(list);
System.out.println("result " + result);
}
public static Integer getMax(List<Integer> list) {
if (Collections.max(list) > 100) {
return 100;
} else if (Collections.max(list) < 50) {
return Collections.max(list);
}
return null; // similar to nothing in Integer object
}
}
出力:
[23, 32, 33]
result 33