我有一个字符串数组:
String[] guaranteedOutput = Arrays.copyOf(values, values.length,
String[].class);
Run Code Online (Sandbox Code Playgroud)
所有String值都是数字.数据应转换为Double[].
问题
Java中是否有一个单行解决方案来实现这一点,或者我们需要循环并将每个值转换为Double?
Mic*_*hev 27
Java 8 Stream API允许执行此操作:
double[] doubleValues = Arrays.stream(guaranteedOutput)
.mapToDouble(Double::parseDouble)
.toArray();
Run Code Online (Sandbox Code Playgroud)
双冒号用作方法参考.在这里阅读更多.
在使用代码之前不要忘记 import java.util.Arrays;
UPD:如果要将数组转换为Double [],而不是double [],则可以使用以下代码:
Double[] doubleValues = Arrays.stream(guaranteedOutput)
.map(Double::valueOf)
.toArray(Double[]::new);
Run Code Online (Sandbox Code Playgroud)
在一行:p
Double[] d=new ArrayList<Double>() {{for (String tempLongString : tempLongStrings) add(new Double(tempLongString));}}.toArray(new Double[tempLongStrings.length]);
Run Code Online (Sandbox Code Playgroud)