我真的是java的新手。我想出了一些我真的无法理解的东西。我知道Double是包装类,您可以将double值包装在所述类的对象内。所以看起来像这样的代码可以正常工作
double pi = 3.14;
Double tempVariable = new Double(pi);
因此,它似乎完全合乎逻辑的,我认为,因为我可以换一个双到双,这将是容易包装一个双[]的双[] 。但是事实并非如此。我尝试了所有可能想到的方法(语法更改-创建一个包含上述double []的Object类型的对象,然后将其转换为Double [],将Double对象当作数组来处理),但是这些都不起作用。
我正在使用j2me。
你们有什么建议吗?
@MightyPork:那是我尝试做的第一件事。我认为,尝试执行此操作的代码如下:
public Double[] modelWeights = new Double[9];
modelweights = {-1.31,1.39,-0.36,1.55,1.55,-2.03,2.25,2.27,-0.72};
但这行不通。我不知道为什么。
@Abimaran Kugathasan ::我看到ArrayUtils昨天,这将是一个很好的解决方案,但我使用J2ME和类,如列表或HashSet的(所必需的ArrayUtils)不是在J2ME中实现。我想念什么吗?
编辑:: Abimaran Kugathasan链接的线程确实确实有其他答案,与fge的答案非常接近。谢谢大家的评论。
欢迎来到Java的历史包one之一,数组。
发生的事情类似于您具有原始类型double
及其“类等效项” Double
,并且您可以将其无缝地用于另一种情况,这是因为(自Java 5起)在这种情况下,编译器会为您进行装箱/拆箱。
但是对于数组,它不会这样做。因此Double[]
不是的“包装器类” double[]
。
如果您有一个double[]
要“变成” a的数组Double[]
,则别无选择,只能复制自己...例如:
final double[] primitiveArray = ...;
final int len = primitiveArray.length;
final Double[] boxedArray = new Double[len];
for (int index = 0; index < len; index++)
boxedArray[index] = Double.valueOf(primitiveArray[index]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句