从print语句中删除最后一个分隔符

gir*_*ake 0 java printing separator

这是一个排序整数数组的方法.如何从输出中删除最后一个分隔符?

public void Sort(int[] sort) {
        for (int a:sort) {
            System.out.print(a+ ", ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

产量

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 
Run Code Online (Sandbox Code Playgroud)

期望的输出

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Run Code Online (Sandbox Code Playgroud)

Tun*_*aki 7

如果您使用的是Java 8,那么一个非常干净的解决方案就是使用新StringJoiner类.此类旨在将Strings与自定义分隔符连接在一起,并且可能带有前缀/后缀.使用此类,您无需像在代码段中那样担心删除最后一个分隔符.

public void sort(int[] sort) {
    StringJoiner sj = new StringJoiner(",");
    for (int a : sort) {
        sj.add(String.valueOf(a));
    }
    System.out.println(sj.toString());
}
Run Code Online (Sandbox Code Playgroud)

您也可以删除for循环并使用Streams:

String str = Arrays.stream(sort).mapToObj(String::valueOf).collect(joining(","));
Run Code Online (Sandbox Code Playgroud)