Ich möchte, dass der Text "REPLACEME" durch meine StringBuffer-Symbole ersetzt wird. Wenn ich Symbole drucke, handelt es sich um eine gültige Zeichenfolge. Wenn ich meine Abfrage drucke, hat es immer noch den Text REPLACEME anstelle von Symbolen. Warum?replaceAll ersetzt keine Zeichenfolge
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;
}
Beachten Sie auch, Zeichenfolgen sind unveränderlich in Java. Sie können NIE eine Zeichenfolge an Ort und Stelle ändern. –