Stringの比較

こんな感じで文字列が一致したら処理しようとしていたが、同じ文字列なのに一致しなかった。

    String[] valArray = getResources().getStringArray(arrID);
    String VAL = list_preference.getValue();
    if(VAL == valArray[i]){
        同じ場合の処理
    }

“==”で比較するということは同じオブジェクトかどうかを比較することであって、文字列が一致するかどうかではないらしい。
次のように修正したら思うとおりに動作した。

    String[] valArray = getResources().getStringArray(arrID);
    String VAL = list_preference.getValue();
    if(VAL.equals(valArray[i])){
        同じ場合の処理
    }