我需要将字符串数组转换为字符串的Java代码。
当前回答
如果你知道数组有多少元素,一个简单的方法是这样做:
String appendedString = "" + array[0] + "" + array[1] + "" + array[2] + "" + array[3];
其他回答
你需要从数组列表中生成字符串的代码,
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重载方法。
否则,试试下面的通用实现:
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
public class ArrayToString
{
public static void main(String[] args)
{
String[] strArray = new String[]{"Java", "PHP", ".NET", "PERL", "C", "COBOL"};
String newString = Arrays.toString(strArray);
newString = newString.substring(1, newString.length()-1);
System.out.println("New New String: " + newString);
}
}
如果你知道数组有多少元素,一个简单的方法是这样做:
String appendedString = "" + array[0] + "" + array[1] + "" + array[2] + "" + array[3];