Java 字符串比较返回错误的结果
我试图比较Java中的两个字符串,以确定它们是否相同:Java 字符串比较返回错误的结果,java,android,string,string-comparison,Java,Android,String,String Comparison,我试图比较Java中的两个字符串,以确定它们是否相同: System.out.println("app version: "+ appversion + " latest version: "+ latestversion); if(!appversion.equals(latestversion)) { System.out.println("not the same"); } 然而,鉴于输出,这给了我意想不到的结果: app version: v1.1
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()方法?在比较字符串变量时,使用trim()方法来删除空白,而不是.replaceAll()方法
按如下方式更改代码:
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()))
你能试试appVersion.trim().equals(最新版本的.trim())吗?如果这不起作用,那么将toUpperCase()或toLowerCase()添加到对这两个字符串的trim()调用中,并查看:)您还没有发布如何创建
appversion
和latestversion
并为其分配字符串值。请使用trim()方法删除空白。感谢您的回复,trim()也不起作用@阿伦一定是对的,我在分配变量时出了点问题。appversion设置如下:appversion=getVersionNumber(MainActivity.this)代码>和最新版本是从一个HttpResponseSorry设置的,我没有足够的声誉来添加评论。