Sal*_*ara 3 java string double casting
我有一个String arraylist,我将把它转换为双arraylist.除了使用像for之类的循环之外,还有什么方法可以转换它吗?
ArrayList<String> S=new ArrayList<String>();
S=FillTheList();
ArrayList<Double> D=new ArrayList<Double>();
Run Code Online (Sandbox Code Playgroud)
在JDK本身,最高版本7,没有.但JDK 8将具有函数式编程支持(请参阅下面@JBNizet的注释以获取语法).
您可以使用Guava实现此目的:
final Function<String, Double> fn = new Function<String, Double>()
{
@Override
public Double apply(final String input)
{
return Double.parseDouble(input);
}
};
// with S the original ArrayList<String>
final List<Double> D = Lists.transform(S, fn);
Run Code Online (Sandbox Code Playgroud)
请注意,虽然此代码中没有循环,但代码内部仍会使用循环.
然而,更多的是你的原始问题,你不能把a转换String为a Double,因为这是两个不同的类.您必须通过如上所示的解析方法.