Den Fehler „'.class' erwartet“ verstehen und beheben
Beim Kompilieren von Code in Java stoßen Entwickler möglicherweise auf die rätselhafte Fehlermeldung „ '.class' erwartet.“ Dieser Fehler kann sowohl für Anfänger als auch für erfahrene Programmierer rätselhaft sein. Lassen Sie uns seine Bedeutung, Ursachen und wirksamen Abhilfemaßnahmen genauer untersuchen.
Bedeutung und Ursache
Der Fehler „'.class' erwartet“ tritt auf, wenn der Compiler auf einen Typ ( z. B. int, int[]), wo es einen Ausdruck vorwegnimmt. Dieses seltsame Verhalten ist auf die Verwirrung des Compilers bei der Syntaxprüfung zurückzuführen, die dazu führt, dass er nach einem Punkt (.) eine Klassendeklaration erwartet.
Beispiele
Hier sind einige Beispiele für der Fehler:
double d = 1.9; int i = int d; // error here
int j = someFunction(int[] a); // error here
In beiden Fällen beschwert sich der Compiler mit „Fehler: '.class' erwartet.“
Auflösung
Der wenig hilfreiche „Vorschlag“, „.class“ hinzuzufügen, ist fast immer falsch. Stattdessen hängt die tatsächliche Lösung vom beabsichtigten Zweck des Typs im Code ab:
1. Typumwandlung:
Wenn die Absicht bestand, eine Typumwandlung durchzuführen, schließen Sie den Typ in Klammern ein:
double d = 1.9; int i = (int) d; // Correct: casts `1.9` to an integer
2. Variablenzuweisung oder Parameterübergabe:
Normalerweise sollten Typen für eine einfache Zuweisung oder Parameterübergabe entfernt werden:
int j = someFunction(a); // Correct ... assuming `a`'s type is suitable for the call
Zusätzliche Beispiele
Falsch:
someMethod(array[]);
Richtig:
someMethod(array); // pass ref to array someMethod(array[someExpression]); // pass array element
Falsch:
int i = someMethod(int j);
Richtig:
int i = someMethod(j);
Falsch:
int i = int(2.0);
Richtig:
int i = (int) 2.0;
Falsch:
int[]; letterCount = new int[26];
Richtig:
int[] letterCount = new int[26];
Falsch:
if (someArray[] > 80) { // ... }
Richtig:
if (someArray[someIndex] > 80)
Falsch:
int[] integers = new int[arraySize]; ... return integers[];
Richtig:
return integers; // Return entire array return integers[someIndex]; // Return array element
Falsch:
if ((withdraw % 5 == 0) & (acnt_balc >= withdraw + 0.50)) double cur = acnt_balc - (withdraw + 0.50); System.out.println(cur); else System.out.println(acnt_balc);
Richtig:
if ((withdraw % 5 == 0) & (acnt_balc >= withdraw + 0.50)) { double cur = acnt_balc - (withdraw + 0.50); System.out.println(cur); } else { System.out.println(acnt_balc); }
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Java den Fehler „'.class' erwartet' und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!