我有一個簡單的代碼,如下所示,當「N/A」字符串後有一個空格時,它返回false。Java中帶有斜線的字符串問題
String a = "N/A ";
if((a.trim())=="N/A")
{
System.out.println("true");
}
else{
System.out.println("false");
}
如果我刪除空格爲「N/A」,那麼它返回true。我在這裏錯過了什麼。我知道我犯了一個愚蠢的錯誤無法弄清楚。
在此先感謝。
我有一個簡單的代碼,如下所示,當「N/A」字符串後有一個空格時,它返回false。Java中帶有斜線的字符串問題
String a = "N/A ";
if((a.trim())=="N/A")
{
System.out.println("true");
}
else{
System.out.println("false");
}
如果我刪除空格爲「N/A」,那麼它返回true。我在這裏錯過了什麼。我知道我犯了一個愚蠢的錯誤無法弄清楚。
在此先感謝。
您是否嘗試過使用equals
來比較而不是對象身份?
首先,不要使用==
運算符比較字符串。使用if(a.trim().equals("N/A"))
,它應該有所幫助。閱讀例如here關於比較Java中的對象。
嘗試以下...
String a = "N/A ";
if(a.trim().equals("N/A"))
{
System.out.println("true");
}
else{
System.out.println("false");
}
==
比較對象和比較.equals()
值。
看到this
使用equals()方法,而不是==也解決了paratheses問題,如果條件
使用equals()方法,而不是==也修復,如果條件(()))問題 – aviad
以及'a =「中的空格N/A」' – Ketan