目录

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
 

代码解释:

  1. Arrays.stream(d):将 Double[] 转换为 Stream<Double>
  2. map(String::valueOf):将每个 Double 元素转换为 String,以便后续的连接操作。
  3. reduce((a, b) -> a + "," + b):将流中的元素使用逗号 , 连接起来。
  4. 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[] 中的元素按逗号连接成一个字符串。