【问题标题】:Split a comma separated string of double values into a double array in Java8在Java8中将逗号分隔的双精度值字符串拆分为双精度数组
【发布时间】:2017-10-22 06:19:43
【问题描述】:

我有一个包含双精度值的字符串,例如:

String str = "0.1,0.4,0.9,0.1";

我想从这个字符串中获取一个双精度数组,如下所示:

double[] arr = {0.1, 0.4, 0.9, 0.1};

对我来说最明显的方法是:

String[] tokens = str.split(",");
double[] arr = new double[tokens.length];
int i=0
for (String st : tokens) {
    arr[i++] = Double.valueOf(st);
}

除了上面提到的 Java 8 之外,还有其他更快/更好的方法吗?

【问题讨论】:

  • “更好”?取决于您如何定义“更好”。“更快”?可能不会。
  • 嗯,也许不一定更快.. 本质上,我一直在寻找的是在 Java8 中使用流来执行此操作的更有效的方法。正如 Eran 在下面的回答中提到的那样

标签: java arrays string split


【解决方案1】:

你可以使用Streams:

double[] arr = Stream.of(str.split(","))
                     .mapToDouble (Double::parseDouble)
                     .toArray();

【讨论】:

  • 谢谢,这正是我要找的
猜你喜欢
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
  • 2021-03-05
相关资源
最近更新 更多