public class String0210
{
public static void main(String[] args)
{
String debugSql = "dfgsdfgsdfgsdfgsdfgsdfgsdfgs > ${aa_test_1419} AND dfgsdfgsdfgsdfgs < ${aa_test_1410})))";
Map<String, Object> finalParametersMap = new HashMap<String, Object>();
finalParametersMap.put("diao_test_1419", "1419");
finalParametersMap.put("diao_test_1410", "1410");
int startAt = 0;
int endAt = 0;
for (int i = 0; i < finalParametersMap.size(); i++)
{
startAt = debugSql.indexOf("${");
endAt = debugSql.indexOf("}");
String param = debugSql.substring(startAt + 2, endAt);
String value = (String) finalParametersMap.get(param);
StringBuilder sb = new StringBuilder();
sb.append("${").append(param).append("}");
debugSql.replace(sb.toString(), value);
}
System.out.println(debugSql);
}
}
期望的结果是
dfgsdfgsdfgsdfgsdfgsdfgsdfgs > 1419 AND dfgsdfgsdfgsdfgs < 1410
实际的结果是
dfgsdfgsdfgsdfgsdfgsdfgsdfgs > ${aa_test_1419} AND dfgsdfgsdfgsdfgs < ${aa_test_1410})
diao_test_1419 换成 aa_test_1410 笔误,输入错了。
大神绝了,佩服!
hashMap里面的value如果在key里面取不到怎么办
也就是必须从hashMap里面才能获得value
这样怎么办
那你就
package test;