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

Mohammad Irfan 2023年1月30日 2022年3月16日
  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