替换java中的某些固定String

sau*_*h j 0 java string replace

我有一个字符串查询,看起来像这样

{ "查询":{ "布尔":{ "应该":[{ "术语":{ "user.id":[#users_to_follow], "minimum_match":1}},{ "术语":{ "鸣叫" :[#keywords_to_track], "minimum_match":1}}]}}, "过滤器":{ "范围":{ "publishedDate":{ "从":#UNIX_TIMESTAMP}}}, "尺寸":#sizelength}"

我试图用另一个字符串替换查询中的某些字符串:

query.replace("#users_to_follow",usersToFollow);
query.replace("#keywords_to_track", keyworsToTrack);
query.replace("#Unix_timestamp","1325930428000" );
query.replace("#sizelength",Integer.toString(SMLApplicationProperties.ES_RESULTSET_SIZE));
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个东西时,它实际上并没有从查询中替换给定的字符串.

Man*_*ish 5

您需要了解String类是不可变的.对String的任何操作都会返回一个新的String.您需要将其分配回查询变量:

query = query.replace("#users_to_follow",usersToFollow); 
query = query.replace("#keywords_to_track", keyworsToTrack); 
query = query.replace("#Unix_timestamp","1325930428000" ); 
query = query.replace("#sizelength",Integer.toString(SMLApplicationProperties.ES_RESULTSET_SIZE));
Run Code Online (Sandbox Code Playgroud)