Ваше второе сравнение неверно. Вы также должны использовать equals
вместо ==
, например:
if (action.trim().equals("something"))
Оператор ==
сравнивает ссылки объектов (String) и при нормальных обстоятельствах равно строки не имеют автоматически одинаковые ссылки, то есть они являются разными объектами. (Если оба не усвоены , но обычно вы не должны это учитывать)
Кроме того, ваш пример работает нормально, и первое сравнение допустимо. Попробуйте исправить второе сравнение. Если это работает, вы нашли свою проблему. Если нет, попробуйте использовать отладчик и перепроверьте все.
PS: при сравнении литеральных строк с динамическими строковыми объектами рекомендуется вызывать метод equals
для литеральной строки:
"something".equals(action)
Таким образом, вы можете избежать исключений NullPointerException, когда строковый объект имеет значение null.