我需要将字符串数组转换为字符串的Java代码。
当前回答
你需要从数组列表中生成字符串的代码,
Iterate through all elements in list and add it to your String result
你可以用两种方式:使用String作为结果或使用StringBuffer/StringBuilder。
例子:
String result = "";
for (String s : list) {
result += s;
}
...但由于性能原因,这不是一个好的实践。更好的方法是使用StringBuffer(线程安全)或StringBuilder,它们更适合添加字符串
其他回答
当我们使用流时,我们有更多的灵活性,比如 将任意数组对象转换为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(", "));
试试Arrays.deepToString方法。
对象的“深层内容”的字符串表示形式 数组中。如果数组包含其他数组作为元素,则字符串 表示法包含它们的内容,等等。这个方法是 用于将多维数组转换为字符串
如果你知道数组有多少元素,一个简单的方法是这样做:
String appendedString = "" + array[0] + "" + array[1] + "" + array[2] + "" + array[3];
我喜欢使用谷歌的番石榴Joiner,例如:
Joiner.on(", ").skipNulls().join("Harry", null, "Ron", "Hermione");
将产生与以下相同的String:
new String("Harry, Ron, Hermione");
ETA: Java 8现在也有类似的支持:
String.join(", ", "Harry", "Ron", "Hermione");
不能看到跳过空值的支持,但这很容易解决。
使用Apache Commons的StringUtils库的join方法。
String[] stringArray = {"a","b","c"};
StringUtils.join(stringArray, ",");