将java替换为属性文件的值

时间:2015-03-26 04:20:24

标签: java string replace properties

我有一个替换字符串流的代码。我需要搜索属性文件

键中定义的特定字符串
    String result="";
        int i=0;
        while (i<listToken.size()){
            result = listToken.get(i);
            while (enuKey.hasMoreElements()) {
                String key = (String)enuKey.nextElement();
//                String value = propertiesSlang.getProperty(key);
                if (listToken.get(i).equals(key)){
                    String value = propertiesSlang.getProperty(key);
                    listToken.get(i).replace(listToken.get(i), value);
                    System.out.print("detected");
                }
            }
            i++;
        }

但它不会取代单词。如何使用属性替换单词。

2 个答案:

答案 0 :(得分:0)

这是因为您忘记使用set()方法分配结果:

listToken.set(i, propertiesSlang.getProperty(key)));

假设listToken实施AbstractList

答案 1 :(得分:-2)

为什么用replace()使事情变得复杂。据我了解你的代码,你可以简单地做 -

String value = propertiesSlang.getProperty(key);
listToken.set(i, value);

我发现您已将代码再次修改为

listToken.get(i).replace(listToken.get(i), value);

这样您就知道String班级是immutable。因此replace()substring()等操作会为您提供一个新字符串而不会修改原始字符串。获取新String并将其设置在列表listToken中。