我拉我的頭髮過什麼應該是一個簡單的問題的Java String對象.Equals無法按照預期工作
我試圖用.equals兩個String對象比較,但它們不匹配
if (folderJobNumber.toUpperCase().equals(fileJobNumber.toUpperCase())) {
dostuff;
}
每個字符串對象被顯示爲「Y019 /」在調試 請注意,這兩個我用了子獲得按以下
String folderJobNumber = folderLocation.substring(folderLocation.length() - 5).trim();
String fileJobNumber = file.getName().substring(0,4) + "/".trim();
請參閱SCRE自己的價值enshot下面每個變量的在調試
我感覺的問題是該值出現使用子串之前的數據的字符數組。
三江源先進的,你可能會揭示問題
旁白:'String.equalsIgnoreCase'會更好。 –
System.out.println(folderJobNumber + fileJobNumber)顯示了什麼值; – notyou
當你看不出兩個字符串爲什麼不相等時,通常可以查看'Arrays.toString(str.toCharArray())'的輸出。它顯示出不同字符的問題,它們看起來相同,但有不同的數字值。 –