可以对此做出哪些改进?

时间:2014-10-21 10:39:14

标签: java recursion

我编写了一个可以获取环境变量值的函数。输入参数如下

$ {machine} / bin或$ {machine / bin}或$ {machine} / bin $ {path $ {OS}} / path 我需要检查以$ {}开头的值 我写了一个本质上有点递归的函数,但如果有人能为我查看代码并告诉我可以做得更好的话,我会很感激

private String replaceWithEnvironmentVariables(String specialChars) {
    String result="";
    boolean flag=true;
    try{
        result = specialChars;
        String temp = "";
        char loopBreaker = '}';
        char dollarCheck = '$';
        char slashCheck = '/';
        int index = result.indexOf("{");
        if (index == -1){
            result = result.replaceAll("[{},$]", "");
            return result;
        }
        for (int i = index; i < result.length(); i++) {
            if(slashCheck==result.charAt(i))
                break;
            temp += result.charAt(i);
            if(dollarCheck==result.charAt(i) || loopBreaker==result.charAt(i)){
                break;
            }
        }
        String sub = temp.replaceAll("[{},$/]", "");
        if(sub==null || sub.length()==0){
            sub="";
            flag=false;
            result = result.replace(temp, sub);
        }
        if(flag){
            String returnSub = getEnvironmentVariableValue(sub);
            result = result.replace(temp, returnSub);
        }
    }catch(NullPointerException nullPointer){
        nullPointer.printStackTrace();
    }catch(Exception except){
        except.printStackTrace();
    }
    return replaceWithEnvironmentVariables(result);
}
PS:代码正在运行,但我只是想知道我在做什么来改进这个。如果这个问题似乎偏离主题,我非常抱歉。

0 个答案:

没有答案