我希望將文本「REPLACEME」替換爲我的StringBuffer符號。當我打印符號時,它是一個有效的字符串。當我打印我的查詢時,它仍然有文本REPLACEME而不是符號。爲什麼?replaceAll不替換字符串
private String buildQuery(){
String query = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(REPLACEME)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=";
deserializeQuotes();
StringBuffer symbols = new StringBuffer();
for(int i = 0; i < quotes.size();i++){
if(i == (quotes.size()-1))
symbols.append("%22" + quotes.get(i).getSymbol() + "%22%"); //end with a quote
else
symbols.append("%22" + quotes.get(i).getSymbol() + "%22%2C");
}
System.out.println("***SYMBOLS***" + symbols.toString());
query.replaceAll("REPLACEME", symbols.toString());
return query;
}
另請注意,字符串在Java中是不可變的。你永遠不能改變一個字符串。 – 2010-08-31 17:44:45