What's the best way to build a string of delimited items in Java?

前端 未结 30 2570
耶瑟儿~
耶瑟儿~ 2020-11-22 05:36

While working in a Java app, I recently needed to assemble a comma-delimited list of values to pass to another web service without knowing how many elements there would be i

30条回答
  •  庸人自扰
    2020-11-22 06:21

    Don't know if this really is any better, but at least it's using StringBuilder, which may be slightly more efficient.

    Down below is a more generic approach if you can build up the list of parameters BEFORE doing any parameter delimiting.

    // Answers real question
    public String appendWithDelimiters(String delimiter, String original, String addition) {
        StringBuilder sb = new StringBuilder(original);
        if(sb.length()!=0) {
            sb.append(delimiter).append(addition);
        } else {
            sb.append(addition);
        }
        return sb.toString();
    }
    
    
    // A more generic case.
    // ... means a list of indeterminate length of Strings.
    public String appendWithDelimitersGeneric(String delimiter, String... strings) {
        StringBuilder sb = new StringBuilder();
        for (String string : strings) {
            if(sb.length()!=0) {
                sb.append(delimiter).append(string);
            } else {
                sb.append(string);
            }
        }
    
        return sb.toString();
    }
    
    public void testAppendWithDelimiters() {
        String string = appendWithDelimitersGeneric(",", "string1", "string2", "string3");
    }
    

提交回复
热议问题