元のコード:
String currentState = new String[answer.length()];
for(String x : currentState)
{
x = "_";
}
書き直されたコード:
String currentState = new String[answer.length()];
for(int i = 0; i < currentState.length; i++)
{
String x;
x = currentState[i];
x = "_";
}
コードの書き方:
String currentState = new String[answer.length()];
for(final String x : currentState)
{
x = "_"; // compiler error
}
エラーのあるコードを書き直しました:
String currentState = new String[answer.length()];
for(int i = 0; i < currentState.length; i++)
{
final String x;
x = currentState[i];
x = "_"; // compiler error
}
このようなことを行うとき、変数を最終的なハイライトにします(これは一般的な初心者の間違いです)。すべての変数(インスタンス、クラス、引数、catchの例外など)を最終的にするようにしてください。本当に変更する必要がある場合にのみ、非最終的にしてください。変数の90%〜95%が最終的なものであることがわかります(初心者は、これを開始すると20%〜50%になります)。