为什么Java不附带标准的String实用程序?

时间:2014-01-09 01:14:41

标签: java

为什么我必须在我的代码中写出应该是String.join的内容?我可以修补Java吗?

public static String join(String[] arg, String delim) {
    String ret = "";
    for(int i=0; i < arg.length; i++) {
        ret += arg[i];
        if(i != arg.length - 1) {
            ret += delim;
        }
    }
    return ret;
}

完成。

2 个答案:

答案 0 :(得分:1)

使用Java 8流API,您可以编写*:

String joined = Arrays.stream(arg).collect(joining(delim));

例如,这会打印a,b,c

String joined = Arrays.stream(new String[] {"a", "b", "c"}).collect(joining(","));
System.out.println(joined);

* joining需要以下导入:import static java.util.stream.Collectors.joining;

答案 1 :(得分:0)

JDK不提供,但Guava提供Joiner类,这几乎完全相同。