首頁 >Java >java教程 >為什麼 Java 會拋出「不相容型別:void 無法轉換成...」?

為什麼 Java 會拋出「不相容型別:void 無法轉換成...」?

Linda Hamilton
Linda Hamilton原創
2024-12-26 14:35:13485瀏覽

Why Does Java Throw

了解不相容型別:Void 無法轉換

Java 編譯器錯誤訊息“不相容型別:void 無法轉換成...”表示嘗試以需要回傳的方式使用不傳回值的方法

Void 是什麼意思?

Void 是 Java 中獨特的類型,表示「無值」。宣告為 void 的方法不會傳回任何結果。

錯誤原因

此錯誤發生在以下情況:

  • 宣告為void 被調用,程式碼嘗試將其傳回值指派給變數或在表達式中使用它。
  • 方法期望傳回特定類型的值,但呼叫的方法傳回 void。

如何修正錯誤

解決方案取決於所需的行為:

  • 如果方法應該回傳一個值:修改方法聲明以傳回適當的值類型(例如int、String)。
  • 如果方法不需要傳回值: 省略賦值或使用該方法而不嘗試使用其傳回值。

詳細範例

考慮以下內容程式碼:

public class Test {
    private static void add(int a, int b) {
        int res = a + b;
    }

    public static void main(String[] args) {
        int sum = add(1, 1);
    }
}

編譯時,此程式碼會出現錯誤:

error: incompatible types: void cannot be converted to int

這是因為add方法被宣告為void,但在main方法中呼叫它嘗試將其傳回值指派給int 變數。要解決此問題:
  • 選項1:
  • 更改add 方法以傳回結果:
private static int add(int a, int b) {
    int res = a + b;
    return res;
}
  • 選項2🎜>選項2 :
  • 省略main中的賦值方法:
public static void main(String[] args) {
    add(1, 1);
}

以上是為什麼 Java 會拋出「不相容型別:void 無法轉換成...」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn