价值比较使我感到困惑,不能正常工作

时间:2013-01-17 16:08:06

标签: java java-ee

Screencap

我正在比较两个字符串,显然它们并不相同,但它们是。我想知道可能导致这个问题的一些问题,可能是数据类型,隐藏的东西,我看不到,或者是什么。任何输入都可能有所帮助。感谢。

4 个答案:

答案 0 :(得分:2)

字符串/对象比较应该使用equals(),而不是==(除了字符串文字比较的情况)

示例:

if(string.equals(string2)){
}

==检查引用相等性,equals()检查内容是否相等。阅读此discussion

答案 1 :(得分:2)

field.trim().equalsIgnoreCase("formDateCreated")

试试这个。 String trim()方法返回字符串的副本,省略前导和尾随空格。

答案 2 :(得分:1)

使用.equals()方法检查字符串相等,例如field1.equals("formDateCreated")==运算符只检查两个引用变量是否引用相同的字符串实例。 equals()方法检查两个字符串是否有意义相等。

答案 3 :(得分:1)

equalsIgnoreCase(String anotherString)

因为你不考虑案件。此检查天气您的字符串内容等于==

的引用

我建议你像下面一样检查

"formDateCreated".equalsIgnoreCase(field)

这样可以帮助您克服可能的NullPointerException