[英]String comparison returns wrong result
我试图比较Java中的2个字符串,以确定它们是否相同:
System.out.println("app version: "+ appversion + " latest version: "+ latestversion);
if(!appversion.equals(latestversion))
{
System.out.println("not the same");
}
然而,鉴于产出,这给了我意想不到的结果:
app version: v1.1.2 latest version: v1.1.2
not the same
我使用过.replaceAll("\\\\s","");
从字符串中删除任何空格都没有成功。
可能有一个非常明显的答案,但任何人都可以告诉我我做错了什么?
您是否尝试在两个字符串上使用.trim()?
而不是.replaceAll()方法,使用trim()方法在比较String变量时删除空格。
更改您的代码如下,
if(!appversion.trim().equals(latestversion.trim()))
{
System.out.println("not the same");
}
哥们试试这个
System.out.println("app version: "+ appversion.trim() + " latest version:"+latestversion.trim());
if(!appversion.trim().equals(latestversion.trim()))
{
System.out.println("not the same");
}
代码运行正常: -
String appversion=" v1.1.2";
String latestversion=" v1.1.2";
if(!appversion.equals(latestversion))
{
System.out.println("not the same");
}
或者您可以使用: -
if(!appversion.trim().equals(latestversion.trim()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.