[英]String comparison in Java
我想使用Java比较两个字符串。 我使用cp1251编码的GDAL从.mif
文件获得的第一个字符串name
。 我从jsp获得的第二个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);
}
}
在控制台中,我得到以下信息:
Name = kadnumm
kadname = kadnumm
这怎么了
我看到它们不相等的唯一原因是前导或尾随空格。
您可以trim
字符串以删除所有这些空格,然后进行比较:-
if (name.trim().equalsIgnoreCase(kadname.trim()))
或者,可能还有其他一些non-printable
字符,这些字符不会被trimming
删除。 您可以尝试使用single quotes
将字符串打印出来,并检查是否有以下内容:-
System.out.println("'" + name + "'");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.