我想用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}}
这有什么不对吗?
答案 0 :(得分:5)
我能看到他们不平等的唯一原因是领先或尾随的空白。
你可以trim
字符串删除任何这些空格,然后比较它们: -
if (name.trim().equalsIgnoreCase(kadname.trim()))
或者,可能还有其他non-printable
个字符,trimming
不会删除这些字符。您可以尝试在single quotes
中打印字符串,并检查是否有: -
System.out.println("'" + name + "'");