使用 Java 流将 List<String> 转换为 String

J_C*_*der 0 java java-8 java-stream

我在ArrayListas 中有值Value1, Value2, Value3
现在我需要StringValue1_Value2_Value3使用 Java一样以 Single 的方式返回它们Streams

我试过这个,但没有用

myList.stream().map((s)->s+"_").toString();
Run Code Online (Sandbox Code Playgroud)

我也尝试过,collect(toList());但我不确定如何进一步将其转换为String.

我该怎么做?

Joa*_*uer 5

如果您myList已经包含String(或任何其他CharSequence),那么您根本不需要流,只需调用String.join

String joined = String.join("_", myList);
Run Code Online (Sandbox Code Playgroud)

否则,你可以使用Collectors.joining产生String任何旧的数据流:

String joined = myList.stream().map(Object::toString).collect(Collectors.joining("_"));
Run Code Online (Sandbox Code Playgroud)