您的第二个比较是错误的。您还应该使用
equals代替
==,例如:
if (action.trim().equals("something"))该
==运算符比较 引用 的(字符串)对象和正常情况下 等于
字符串不自动具有相同的参考,也就是说,它们是不同的对象。(除非两者都已内部化,但通常不应该考虑)
除此之外,您的示例可以正常工作,并且第一个比较有效。尝试修复第二个比较。如果有效,则说明您遇到了问题。如果不是,请尝试使用调试器并仔细检查所有内容。
PS:比较文字字符串和动态字符串对象时,最好
equals在文字字符串上调用方法:
"something".equals(action)
这样,当字符串对象为null时,可以避免NullPointerExceptions。



