我需要将字符串数组转换为字符串的Java代码。


当前回答

当我们使用流时,我们有更多的灵活性,比如 将任意数组对象转换为toString 过滤器->删除时,它是空的 join——>添加连接字符

    //Deduplicate the comma character in the input string
    String[] splits = input.split("\\s*,\\s*");
    return Arrays.stream(splits).filter(StringUtils::isNotBlank).collect(Collectors.joining(", "));

其他回答

试试数组。toString重载方法。

否则,试试下面的通用实现:

public static void main(String... args) throws Exception {

    String[] array = {"ABC", "XYZ", "PQR"};

    System.out.println(new Test().join(array, ", "));
}

public <T> String join(T[] array, String cement) {
    StringBuilder builder = new StringBuilder();

    if(array == null || array.length == 0) {
        return null;
    }

    for (T t : array) {
        builder.append(t).append(cement);
    }

    builder.delete(builder.length() - cement.length(), builder.length());

    return builder.toString();
}

在Java 8中,我认为最简单的方法是:

    String[] array = { "cat", "mouse" };
    String delimiter = "";
    String result = String.join(delimiter, array);

这样您就可以选择任意的分隔符。

我喜欢使用谷歌的番石榴Joiner,例如:

Joiner.on(", ").skipNulls().join("Harry", null, "Ron", "Hermione");

将产生与以下相同的String:

new String("Harry, Ron, Hermione");

ETA: Java 8现在也有类似的支持:

String.join(", ", "Harry", "Ron", "Hermione");

不能看到跳过空值的支持,但这很容易解决。

String array[]={"one","two"};
String s="";

for(int i=0;i<array.length;i++)
{
  s=s+array[i];
}

System.out.print(s);

如果你知道数组有多少元素,一个简单的方法是这样做:

String appendedString = "" + array[0] + "" + array[1] + "" + array[2] + "" + array[3];