由数组中的持有人替换值

时间:2018-07-08 07:01:52

标签: java

我有两个数组,一个带有持有人,第二个带有值。我需要用文本中的所有者替换值。

现在我使用此代码:

    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。

0 个答案:

没有答案