Java中的字符串比较

时间:2012-10-23 04:50:19

标签: java

我想用Java比较两个字符串。首先使用cp1251编码中的GDAL从name文件获取.mif kadname。第二个if (attrValue instanceof String) { String string3 = new String((attrValue.toString()).getBytes("ISO-8859-1"), "cp1251"); dbFeature.setAttribute(name, string3); System.out.println("Name=" + name); System.out.println("kadname=" + kadname); if (name.equalsIgnoreCase(kadname)) { kadnum = string3; System.out.println("string3" + string3); } } 我来自jsp。为了比较,我这样做:

Name = kadnumm
kadname = kadnumm

在控制台中我得到了这个:

{{1}}

这有什么不对吗?

1 个答案:

答案 0 :(得分:5)

我能看到他们不平等的唯一原因是领先或尾随的空白。

你可以trim字符串删除任何这些空格,然后比较它们: -

if (name.trim().equalsIgnoreCase(kadname.trim()))

或者,可能还有其他non-printable个字符,trimming不会删除这些字符。您可以尝试在single quotes中打印字符串,并检查是否有: -

System.out.println("'" + name + "'");