我有一个简单的代码如下所示,当我在“N / A”字符串后面有一个空格时它会返回false。
String a = "N/A ";
if((a.trim())=="N/A")
{
System.out.println("true");
}
else{
System.out.println("false");
}
如果我将空格删除为“N / A”,则返回true。我在这里想念的是什么我知道我犯了一个愚蠢的错误无法理解。
提前致谢。
答案 0 :(得分:4)
首先,不要使用==
运算符比较字符串。使用if(a.trim().equals("N/A"))
,它应该会有所帮助。阅读例如here关于比较Java中的对象。
答案 1 :(得分:2)
尝试以下...
String a = "N/A ";
if(a.trim().equals("N/A"))
{
System.out.println("true");
}
else{
System.out.println("false");
}
==
比较对象和.equals()
比较值。
请参阅this
答案 2 :(得分:1)
您是否尝试使用equals
进行比较而不是对象标识?
答案 3 :(得分:1)
使用equals()而不是==也修复if条件
中的paratheses问题