我幾年來一直是專業程序員,現在我遇到了一個我無法解釋的問題。我有一個關聯的枚舉類型和一個String作爲實例變量的對象。對於某些類型,我想用字符串中的句點替換反斜槓。我知道一個事實,即資產被正確地識別爲ContentType.text,但沒有被執行以下代碼:在簡單的Java字符串上替換替換錯誤
String modifiedKeyPath = keyPath.toString();
if(!ContentType.slot.equals(type) && !ContentType.node.equals(type)) {
modifiedKeyPath.replace("/", ".");
}
DiffFields diffField = new DiffFields(type1, name, modifiedKeyPath)
澄清:
type = ContentType.text
keyPath = "asdf/ghjk"
的modifiedKeyPath仍然"asdf/ghjk"
代碼後被執行。任何人都可以想到爲什麼會發生這種情況?我很困惑
反斜槓是\。斜槓是/。 – rgettman
爲什麼不使用調試器來查看編譯器和JRE如何解釋你的代碼? – kryger
另一個dup:[提示java.lang.String.replace問題?](http://stackoverflow.com/questions/1166905/hints-for-java-lang-string-replace-problem)。 – rgettman