互換性のない型: 「Void は...に変換できません」エラーについて
エラー メッセージ「互換性のない型: void は変換できません」 to ...」は、値を返さないと宣言されたメソッドの結果 (void とも呼ばれる) をコードが使用しようとしたときに発生します。 type.
問題の定義:
Java メソッドは、結果を生成しないことを示す void キーワードを使用して戻り値を宣言します。ただし、コードが誤って void メソッドの値を割り当てたり処理しようとすると、コンパイラによってこのエラーが生成されます。
解決策:
問題を解決するには、次のことを確認してください。コードが void メソッドからの結果を期待している理由。主なアプローチは 2 つあります。
1.メソッド宣言の変更:
適切な値の型を返すようにメソッド宣言を変更します。たとえば、add メソッドが入力の合計を返す必要がある場合は、
private static int add(int a, int b) { return a + b; }
2 のように宣言する必要があります。結果の割り当ての削除:
または、コードがメソッドの結果を必要としない場合は、割り当てを削除するか、次を使用します:
add(1, 1); // Calling the method without assigning the result
詳細な例:
次の点を考慮してくださいコード:
public class Main { private static void add(int a, int b) { int sum = a + b; } public static void main(String[] args) { int result = add(1, 1); } }
このコードを Java 8 でコンパイルすると、次のエラーが生成されます:
Main.java:9: error: incompatible types: void cannot be converted to int int result = add(1, 1); ^ 1 error
このエラーは、add が値を返さない void メソッドであることを示しますが、コードは値を返そうとします。存在しない戻り値を result に代入します。解決策は、次に示すように、add メソッドの宣言を変更して int 値を返すようにすることです。
public class Main { private static int add(int a, int b) { return a + b; } public static void main(String[] args) { int result = add(1, 1); } }
結論:
「互換性のない型: void は使用できません」を理解する...」というエラー メッセージを表示するには、void メソッドとその戻り値の正しい処理に関する知識が必要です。メソッド宣言を変更するか、コードの期待値を調整することで、開発者はこのエラーを修正し、コードが Java の型システムに準拠していることを確認できます。
以上がJava が「互換性のない型: void は...に変換できません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。