如何在 Java 中将数组列表转换为字符串

本教程介绍了如何在 Java 中把 ArrayList 转换为 String,并列举了一些示例代码来理解这个主题。转换 ArrayList 为字符串有几种方法,如使用 join()append() 方法、StringUtils 类等。让我们仔细看一下例子。

在 Java 中用 + 操作符将 ArrayList 转换为 String

将 ArrayList 转换为 String 的最直接和简单的方法是使用加号(+)运算符。在 String 中,加号运算符将两个字符串对象连接起来并返回一个对象。在这里,我们使用的是加号运算符。请看下面的例子。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		String str = "";
		for (String fruit : fruits) {
			str+= fruit+",";
		}
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
Apple,Orange,Mango,

使用 Java 中的 append() 方法将数组列表转换为字符串

我们可以使用 StringBuilder 类的 append() 方法将数组列表转换为字符串。这个方法返回一个字符串对象。请看下面的例子。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		StringBuilder str = new StringBuilder();
		for (String fruit : fruits) {
			str.append(fruit);
			str.append(" ");
		}
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
Apple Orange Mango

使用 Java 中的 join() 方法将数组列表转换为字符串

我们可以使用 String 类的 join() 方法将数组列表元素连接成一个字符串。这个方法返回一个字符串,可以用来在 Java 中把数组列表转换为字符串。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		String str = String.join(",", fruits);
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
Apple,Orange,Mango

在 Java 中使用 StringUtils 类将数组列表转换为字符串

如果你使用的是 Apache commons lang 库,那么你可以使用 StringUtils 类的 join() 方法从 ArrayList 中获取字符串对象。这里,我们使用 join() 方法,它需要两个参数:ArrayList 和分隔符。请看下面的例子。

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		String str = StringUtils.join(fruits, ", ");
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
Apple, Orange, Mango

使用 Java 中的 replaceAll() 方法将数组列表转换为字符串

这是从 ArrayList 中获取 String 的一个有点小技巧的方法。这样,我们用 replaceAll() 方法替换 List 的方括号,然后用 toString() 方法将所有元素转换成 String。请看下面的例子。

import java.util.ArrayList;
import java.util.List;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		String str = fruits.toString().replaceAll("\\[|\\]", "").replaceAll(", ",", ");
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
Apple, Orange, Mango

使用 Java 中的 joining() 方法将数组列表转换为字符串

如果你使用的是 Java 8 以上的版本,你可以使用 Collectors 类的 joining() 方法将所有的元素收集到一个单一的 String 对象中。在这里,我们使用 Java 8 版本中加入的 Java 编程的函数式风格。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		String str = Arrays.asList(fruits).stream()
                .map(Object::toString)
                .collect(Collectors.joining(", "));
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
[Apple, Orange, Mango]

使用 Java 中的 deepToString() 方法将数组列表转换为字符串

我们可以使用 Array 类的 deepToString() 方法,将数组列表的所有元素转换为 String 对象。请看下面的例子。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class SimpleTesting {
	public static void main(String[] args) {
		// ArrayList
		List<String> fruits = new ArrayList<>();
		fruits.add("Apple");
		fruits.add("Orange");
		fruits.add("Mango");
		System.out.println(fruits);
		String str = Arrays.deepToString(fruits.toArray());
		System.out.println(str);
	}
}

输出:

[Apple, Orange, Mango]
[Apple, Orange, Mango]