ホームページ >Java >&#&チュートリアル >Java で「型が一致しません: Void を変換できません」エラーが発生するのはなぜですか?

Java で「型が一致しません: Void を変換できません」エラーが発生するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-25 02:21:09305ブラウズ

Why Am I Getting a

型の不一致: Void Cannot Be Converted

Java コンパイルでは、「互換性のない型: void を ... に変換できません。」これらのメッセージの背後にある意味を理解することは、デバッグやエラーのないコードの作成にとって重要です。

エラーの意味

このエラーは、コンパイラが代入の試行を検出したときに発生します。または、void 型の変数を別の型の変数に使用します。 void は値が存在しない (空のセット) ことを示しますが、他のほとんどの型は特定の値を表します。

エラーの原因

この不一致は通常、次の場合に発生します。

  • void として宣言されたメソッドの呼び出し: void としてマークされたメソッドは、値を返さないことを明示的に示します。ただし、戻り値が変数に参照または割り当てられると、このエラーが発生します。
  • void 以外の値を void に代入する: void 型以外の値を変数または void 型のオブジェクトに代入しようとすると、エラーが発生します。このエラー。

エラーの修正

解決このエラーには、型の不一致の修正が含まれます:

  • メソッド呼び出しの場合: メソッドが値を返すことを意図していたかどうかを確認します。その場合は、その宣言を編集して適切な型を返します。そうでない場合は、メソッドの戻り値の使用を避けてください。
  • 代入の場合: 変数の宣言された型と一致する有効な値を代入していることを確認してください。変数が void として宣言されている場合は、値を代入しないでください。

次のコード スニペットを考えてみましょう:

public class Example {

    public static void main(String[] args) {
        int result = add(1, 2); // Attempting to assign 'void' to 'int'
    }

    public static void add(int a, int b) {
        // Method declared as 'void' with no return value
    }
}

コンパイルは失敗し、「互換性のない型: void を int に変換できません」というエラー メッセージが表示されます。これを修正するには、int を返すようにメソッド宣言を変更する (そして実際の return ステートメントを提供する) か、代入ステートメントを完全に削除します。

以上がJava で「型が一致しません: Void を変換できません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。