在Java8中,将逗号分隔的双值字符串拆分为双数组
我有一个包含双值的字符串,例如:在Java8中,将逗号分隔的双值字符串拆分为双数组,java,arrays,string,split,Java,Arrays,String,Split,我有一个包含双值的字符串,例如: 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++] =
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中提到的方法之外,还有其他更快/更好的方法吗?您可以使用
Stream
s:
double[] arr = Stream.of(str.split(","))
.mapToDouble (Double::parseDouble)
.toArray();
“更好”?取决于您如何定义“更好”;“更快”?可能不是。嗯,可能不一定更快..本质上我所寻找的是在Java8中使用流实现这一点的更有效的方法..正如Eran在下面的回答中提到的,这正是我所寻找的