我有两个数组,一个带有持有人,第二个带有值。我需要用文本中的所有者替换值。
现在我使用此代码:
public static String replaceHolders(String text, List<String> holders, List<String> keys){
if (holders.size() != keys.size()){
throw new IllegalArgumentException("holders length must be keys length!");
}
Map<String, String> stringMap = Maps.newHashMap();
for (int i = 0; i <= holders.size(); i++){
stringMap.put(holders.get(i), keys.get(i));
}
String outputText = text;
for (String key : stringMap.keySet()){
outputText = outputText.replace(key, stringMap.get(key));
}
return outputText;
}
但是这还不能正常工作,我得到了IndexOutOfBoundsException。