我需要将字符串数组转换为字符串的Java代码。
当前回答
String array[]={"one","two"};
String s="";
for(int i=0;i<array.length;i++)
{
s=s+array[i];
}
System.out.print(s);
其他回答
我喜欢使用谷歌的番石榴Joiner,例如:
Joiner.on(", ").skipNulls().join("Harry", null, "Ron", "Hermione");
将产生与以下相同的String:
new String("Harry, Ron, Hermione");
ETA: Java 8现在也有类似的支持:
String.join(", ", "Harry", "Ron", "Hermione");
不能看到跳过空值的支持,但这很容易解决。
试试Arrays.deepToString方法。
对象的“深层内容”的字符串表示形式 数组中。如果数组包含其他数组作为元素,则字符串 表示法包含它们的内容,等等。这个方法是 用于将多维数组转换为字符串
试试数组。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();
}
使用Apache commons StringUtils.join()。它接受一个数组作为参数(也有Iterable和Iterator参数的重载),并对每个元素(如果它不为null)调用toString()来获得每个元素的字符串表示形式。然后,每个元素的字符串表示形式被连接成一个字符串,如果指定了分隔符,则中间有分隔符:
String joinedString = StringUtils.join(new Object[]{"a", "b", 1}, "-");
System.out.println(joinedString);
生产:
a-b-1
使用Apache Commons的StringUtils库的join方法。
String[] stringArray = {"a","b","c"};
StringUtils.join(stringArray, ",");