我正在實現我自己的腳本語言作爲一個側面項目,並在語言變量由$ [變量名稱]訪問。然而,當我使用與string.replace()來代替(例如)與MYVAR價值$ MYVAR(如 '我的變量')與此代碼:Java - 意外的行爲從String.replace()
public static void main(String[] args)
{
System.out.println(replaceVars("$myvar"));
}
public static String replaceVars(String source)
{
String[][] varNames = new String[][]{new String[]{"myvar", "This is a variable"}, new String[]{"anothervar", "This is another variable"}, new String[]{"yetanothervar", "This is yet another variable"}};
String result = source;
for(String[] s : varNames) result = result.replace("$" + s[0], s[1]);
return result;
}
輸出:$ MYVAR
什麼正在進行?
對我的作品......輸出是'這是一個variable' – DannyMo
您應該使用地圖來保存你的VARNAME /條值對 – Bohemian
原來的問題了'static'失蹤在'replaceVars'方法上。 – rgettman