Comprendre et résoudre l'erreur "'.class' attendue"
Lors de la compilation du code en Java, les développeurs peuvent rencontrer l'énigmatique message d'erreur " '.class' attendu." Cette erreur peut être déroutante aussi bien pour les programmeurs débutants que expérimentés. Examinons sa signification, ses causes et ses remèdes efficaces.
Signification et cause
L'erreur "'.class' attendue" se produit lorsque le compilateur rencontre un type ( par exemple, int, int[]) où il anticipe une expression. Ce comportement étrange provient de la confusion du compilateur lors de la vérification de la syntaxe, l'amenant à s'attendre à une déclaration de classe après un point (.).
Exemples
Voici quelques exemples de l'erreur :
double d = 1.9; int i = int d; // error here
int j = someFunction(int[] a); // error here
Dans les deux cas, le compilateur se plaindra avec "erreur : '.class' attendu."
Résolution
La "suggestion" inutile d'ajouter ".class" est presque toujours incorrecte. Au lieu de cela, la solution réelle dépend de l'objectif visé du type dans le code :
1. Casting de type :
Si l'intention était d'effectuer un casting de type, mettez le type entre parenthèses :
double d = 1.9; int i = (int) d; // Correct: casts `1.9` to an integer
2. Assignation de variable ou passage de paramètres :
En général, les types doivent être supprimés pour une simple affectation ou passage de paramètres :
int j = someFunction(a); // Correct ... assuming `a`'s type is suitable for the call
Supplémentaire Exemples
Incorrect :
someMethod(array[]);
Correct :
someMethod(array); // pass ref to array someMethod(array[someExpression]); // pass array element
Incorrect :
int i = someMethod(int j);
Correct :
int i = someMethod(j);
Incorrect :
int i = int(2.0);
Correct :
int i = (int) 2.0;
Incorrect :
int[]; letterCount = new int[26];
Corriger :
int[] letterCount = new int[26];
Incorrect :
if (someArray[] > 80) { // ... }
Corriger :
if (someArray[someIndex] > 80)
Dans correct :
int[] integers = new int[arraySize]; ... return integers[];
Correct :
return integers; // Return entire array return integers[someIndex]; // Return array element
Incorrect :
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);
Correct :
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); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!