2017-02-03 37 views
-5

我想在我的strMoMaturityTable更新一個細胞相匹配的日期數月爲什麼我的陣列的第一個元素不是更新?

System.out.println(strMoMaturityTable[0]); 

    if(strMoMaturityTable[0] == "May") 
    { 
     strMoMaturityTable[0] = "05"; 
    } 
    System.out.println(strMoMaturityTable[0]); 

這裏是我的輸出

Output

+2

我相信這是回答[這裏](http://stackoverflow.com/a/513839/767632) – yeputons

+0

是的,它可能是一個可能的重複,但這裏的情況是正確地使用運營商和方法的問題。 – chlkdst

回答

3

我們不使用「== 「比較Java中的字符串......或任何Java對象。使用Object類中的equals()方法。

對於String類尤其可以,您可以使用equalsIgnoreCase()

System.out.println(strMoMaturityTable[0]); 
if(strMoMaturityTable[0].equalsIgnoreCase("May")){ 
    strMoMaturityTable[0] = "05"; 
} 
System.out.println(strMoMaturityTable[0]); 
+0

爲什麼.equalsIgnoreCase在這種情況下比簡單的.equals更好? –

+1

只是區分大小寫的區別。 equals()應該沒問題。 – SarathChandra

+0

它們之間的唯一區別是equals()方法考慮大小寫 – chlkdst

相關問題