Java の関数から何も返さない

Mohammad Irfan 2023年10月12日
  1. Java の整数関数で何も返さない
  2. Java の文字列関数で何も返さない
  3. Java のオブジェクト関数で何も返さない
Java の関数から何も返さない

このチュートリアルでは、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

関連記事 - Java Function