HOWTO · Java
Java の予期しない型エラーを修正する
このチュートリアルでは、Java の予期しない型エラーについて説明します。
このチュートリアルでは、Java の unexpected type エラーについて説明します。
Java unexpected type エラーを修正
Java unexpected type エラーは、変数ではなく、値または式に値を代入しようとすると発生します。 これは、変数にのみ値を代入できることを意味します。
たとえば、DemoStr.charAt(i) に値を代入しようとすると、これは変数ではなく、値と char 型を返す式であるため、このコードは unexpected type エラーをスローします。
このエラーの例を次に示します。
package delftstack;
public class Example {
public static void main(String[] arg) {
String DemoStr = "delftstack";
String ReversedString = "";
for (int i = DemoStr.length() - 1; i >= 0; i--) {
DemoStr.charAt(i) += ReversedString;
}
System.out.println(ReversedString);
}
}
上記のコードは文字列を反転しようとしますが、値を DemoStr.charAt(i) に代入しているため、Java unexpected type エラーがスローされます。 出力を参照してください:
****.java:8: error: unexpected type
required: variable
found: value
このエラーの解決策は、変数に値を代入するか、文字列バッファと reverse() メソッドを使用して文字列を逆にすることです。 両方の方法での解決策は次のとおりです。
解決策 1:
package delftstack;
public class Example {
public static void main(String[] arg) {
String DemoStr = "delftstack";
String ReversedString = "";
for (int i = DemoStr.length() - 1; i >= 0; i--) {
ReversedString += DemoStr.charAt(i);
}
System.out.println(ReversedString);
}
}
解決策 2:
package delftstack;
public class Example {
public static void main(String[] arg) {
String DemoStr = "delftstack";
String ReversedString = "";
ReversedString = new StringBuffer(DemoStr).reverse().toString();
System.out.println(ReversedString);
}
}
どちらのソリューションも、同様の出力で同様に機能します。
kcatstfled