2012-10-10 47 views
0

我想比較的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","");從字符串中刪除任何空格而沒有成功。

這可能有一個非常明顯的答案,但任何人都可以告訴我我做錯了什麼?

+0

你能試試appVersion.trim()。equals(latestVersion.trim())嗎?如果這不起作用,那麼在兩個字符串中添加toUpperCase()或toLowerCase()以調用trim(),並查看:) – Vikdor

+2

您沒有發佈過如何創建'appversion'和'latestversion'以及指定的字符串值給他們。 –

+1

使用trim()方法刪除空白區域。 –

回答

1

替代.replaceAll()方法,使用trim()方法在比較字符串變量時刪除空格。

改變你的代碼如下,

if(!appversion.trim().equals(latestversion.trim())) 
{    
    System.out.println("not the same"); 
} 
1

您是否嘗試過在兩個字符串上使用.trim()?

+5

對不起,我沒有足夠的聲望來添加評論。 – LuGo

0

哥們試試這個

System.out.println("app version: "+ appversion.trim() + " latest version:"+latestversion.trim()); 

if(!appversion.trim().equals(latestversion.trim())) 
{    
    System.out.println("not the same"); 
} 
0

代碼運行良好: -

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()))