Heim > Java > javaLernprogramm > Warum gibt Java den Fehler „Inkompatible Typen: void kann nicht konvertiert werden' aus?

Warum gibt Java den Fehler „Inkompatible Typen: void kann nicht konvertiert werden' aus?

Susan Sarandon
Freigeben: 2024-12-23 19:47:10
Original
985 Leute haben es durchsucht

Why Does Java Throw an

Inkompatible Typen: void können nicht konvertiert werden

Problem:

Die Java-Kompilierungsmeldung „Inkompatible Typen: void kann nicht konvertiert werden.“ konvertiert in ...“ zeigt an, dass der Compiler einen Typfehler im Zusammenhang mit dem Typ void erkannt hat. Konkret bedeutet dies, dass Ihr Code versucht, das Ergebnis einer Methode zu verwenden, die keinen Wert zurückgibt.

Detaillierte Erklärung:

Der void-Typ, anders als primitiv oder Referenztypen, bedeutet das Fehlen eines Werts. Es wird hauptsächlich in Methodendeklarationen verwendet, um anzuzeigen, dass die Methode keinen Wert zurückgibt. Wenn Sie eine solche Methode aufrufen, können Sie nicht erwarten, dass sie einen Wert zurückgibt, den Sie verwenden können.

Beispiel:

Bedenken Sie den folgenden Code:

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);
    }
}
Nach dem Login kopieren

Beim Kompilieren dieses Codes erhalten Sie die folgende Fehlermeldung:

error: incompatible types: void cannot be converted to int
        int sum = add(1, 1);
                     ^
Nach dem Login kopieren

Diese Fehlermeldung zeigt an, dass Sie es versuchen Weisen Sie das Ergebnis der Add-Methode, das ungültig ist, einer int-Variablen zu. Allerdings stellt void keinen Wert dar und kann daher keiner Variablen irgendeines Typs zugewiesen werden.

Lösung:

Um diesen Fehler zu beheben, können Sie entweder:

  1. Ändern Sie die Methodendeklaration: Ändern Sie die Add-Methode, um einen Wert zurückzugeben, z. B. das Ergebnis von Zusatz.
  2. Verwendung des Rückgabewerts vermeiden: Entfernen Sie die Zeile, die versucht, den Rückgabewert der Variablen zuzuweisen (ersetzen Sie z. B. int sum = add(1, 1); durch add( 1, 1);).

Das obige ist der detaillierte Inhalt vonWarum gibt Java den Fehler „Inkompatible Typen: void kann nicht konvertiert werden' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage