目录
1、需求
2、实现
2.1、方法一:复杂
2.2、方法二:简单(使用 String.join())
1、需求
现有 Java Double[] d,希望将 d 以英文逗号分隔,然后一行输出。
2、实现
我们可以使用 String.join()
方法来将 Double[]
数组中的元素以英文逗号 ,
连接,并输出为一行字符串。但需要注意的是,Double[]
是一个对象数组,无法直接通过 String.join()
进行连接。因此,我们需要将其转换为 String[]
,或者使用 Stream
进行处理。
2.1、方法一:复杂
import java.util.Arrays;
public class DoubleArrayToString {
public static void main(String[] args) {
// 示例数据:Double[]
Double[] d = {1.23, 4.56, 7.89, 10.11};
// 使用 Streams 转换 Double[] -> String[] -> 用逗号连接
String result = Arrays.stream(d)
.map(String::valueOf) // 将每个 Double 转为 String
.reduce((a, b) -> a + "," + b) // 使用逗号连接
.orElse(""); // 处理空数组的情况
// 输出结果
System.out.println(result);
}
}
输出:
1.23,4.56,7.89,10.11
代码解释:
-
Arrays.stream(d)
:将Double[]
转换为Stream<Double>
。 -
map(String::valueOf)
:将每个Double
元素转换为String
,以便后续的连接操作。 -
reduce((a, b) -> a + "," + b)
:将流中的元素使用逗号,
连接起来。 -
orElse("")
:如果数组为空,返回一个空字符串。
2.2、方法二:简单(使用 String.join()
)
如果不想使用 Stream
,可以先将 Double[]
转换为 String[]
,然后使用 String.join()
进行连接:
import java.util.Arrays;
public class DoubleArrayToString {
public static void main(String[] args) {
// 示例数据:Double[]
Double[] d = {1.23, 4.56, 7.89, 10.11};
// 将 Double[] 转为 String[]
String[] stringArray = Arrays.stream(d)
.map(String::valueOf) // 转为 String[]
.toArray(String[]::new);
// 使用 String.join() 连接字符串
String result = String.join(",", stringArray);
// 输出结果
System.out.println(result);
}
}
输出:
1.23,4.56,7.89,10.11
说明:
-
Arrays.stream(d)
:将Double[]
转为流。 -
map(String::valueOf)
:将每个Double
转为String
。 -
String.join(",", stringArray)
:将String[]
中的元素按逗号连接成一个字符串。