在 Java 中從一個函式中返回空值

Mohammad Irfan 2023年1月30日 2022年5月1日
  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,因為 null 是 Java 中物件的預設值。儘管返回的物件中沒有什麼像什麼都沒有,但我們可以實現我們的目標。

我們也可以將它用於任何其他物件。請參見下面的示例。

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