ホームページ > Java > &#&チュートリアル > Java が「互換性のない型: void は ... に変換できません」というコンパイル エラーをスローするのはなぜですか?

Java が「互換性のない型: void は ... に変換できません」というコンパイル エラーをスローするのはなぜですか?

Linda Hamilton
リリース: 2024-12-29 13:03:15
オリジナル
957 人が閲覧しました

Why Does Java Throw an

「互換性のない型: void は ... に変換できません」とはどういう意味ですか?

問題:

の場合Java コードをコンパイルすると、プログラマは次のようなコンパイル エラーに遭遇する可能性があります。

  • 「互換性がありません」型: void を ..."に変換できません。"
  • "型が一致しません: void から ...に変換できません。"
  • "互換性のない型です。必須: ... 見つかりました: void"
  • 「互換性のないタイプ: 無効が見つかりました、必須です」 ..."

意味:

これらのエラー メッセージは、コード内の型の不一致、特に「void」型に関連するものを示します。 Void は Java のプリミティブ型でも参照型でもありません。これは、値を返さないメソッドを表します。

修正:

このエラーを解決するには、メソッドの使用目的を確認してください:

  1. メソッドのドキュメントを確認する (Javadoc): 呼び出されるメソッドのドキュメントを確認して、その戻り値を理解します。 type.
  2. 正しいコードの使用法: メソッド呼び出しを調整して、結果を使用する (戻り値が期待される場合) か、結果を割り当てる試みを削除します。
  3. メソッドの署名を変更する (オプション): メソッドが値を返すことを目的としている場合は、正しい戻り値を反映するように署名を変更します。 type.

例:

次のコードを考えてみましょう:

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);
    }
}
ログイン後にコピー

このコードでは、「互換性のない型: void はできません」というエラーが生成されます。これは、add メソッドが値を返さないにもかかわらず、コードが結果を変数に代入しようとするためです。このエラーを修正するには、int を返すようにメソッド シグネチャを変更するか、代入ステートメントを削除します。

以上がJava が「互換性のない型: void は ... に変換できません」というコンパイル エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート