理解并解决“'.class' Expected”错误
在 Java 中编译代码时,开发人员可能会遇到神秘的错误消息“预期为“.class”。”这个错误对于初学者和经验丰富的程序员来说都可能令人困惑。让我们深入研究一下它的含义、原因和有效的补救措施。
含义和原因
当编译器遇到类型 (例如,int、int[]),它需要一个表达式。这种奇怪的行为源于编译器在语法检查期间的混乱,导致它期望在句点 (.) 之后出现类声明。
示例
这里是一些示例错误:
double d = 1.9; int i = int d; // error here
int j = someFunction(int[] a); // error here
在这两种情况下,编译器都会抱怨“错误:'.class'预期。”
解决方案
添加“.class”的无用“建议”几乎总是不正确的。相反,实际的解决方案取决于代码中类型的预期用途:
1。类型转换:
如果意图执行类型转换,请将类型括在括号中:
double d = 1.9; int i = (int) d; // Correct: casts `1.9` to an integer
2。变量赋值或参数传递:
通常,应删除类型以进行简单赋值或参数传递:
int j = someFunction(a); // Correct ... assuming `a`'s type is suitable for the call
其他示例
错误:
someMethod(array[]);
正确:
someMethod(array); // pass ref to array someMethod(array[someExpression]); // pass array element
错误:
int i = someMethod(int j);
正确:
int i = someMethod(j);
错误:
int i = int(2.0);
正确:
int i = (int) 2.0;
错误:
int[]; letterCount = new int[26];
正确:
int[] letterCount = new int[26];
错误:
if (someArray[] > 80) { // ... }
正确:
if (someArray[someIndex] > 80)
错误:
int[] integers = new int[arraySize]; ... return integers[];
正确:
return integers; // Return entire array return integers[someIndex]; // Return array element
错误:
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);
正确:
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); }
以上是为什么我在 Java 中收到 \'\'.class\'预期\' 错误,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!