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