首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将double[]包装到Double[]

将double[]包装到Double[]
EN

Stack Overflow用户
提问于 2015-01-21 11:50:11
回答 1查看 2.4K关注 0票数 5

我对java非常陌生。我想出了一些我真的想不出来的事情。我知道Double是一个包装类,您可以在该类的对象中包装一个double值。所以像这样的代码会很好

代码语言:javascript
复制
double pi = 3.14;
Double tempVariable = new Double(pi);

因此,对我来说,既然我可以将一个双到一个双包装,那么将一个Double[]包装到一个double[]就同样容易了,这是完全合乎逻辑的。但事实并非如此。我尝试了我所能想到的一切(语法修改--创建一个包含上述double[]的类型对象,然后转换为Double[],像处理数组一样处理Double对象),但这些都没有奏效。

我正在使用j2me。

你们有什么建议吗?

@MightyPork :这是我做的第一件事。我认为,尝试这样做的代码如下:

代码语言:javascript
复制
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::我昨天看到了ArrayUtils,这将是一个很好的解决方案,但我正在使用j2me,并且没有在j2me中实现诸如List或HashSet (是ArrayUtils所必需的)类。我是不是遗漏了什么?

编辑::阿比马兰·库加撒森链接的帖子确实有其他答案,与fge的答案相当接近。谢谢大家的评论。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 12:14:00

欢迎来到Java的历史包袱之一数组。

所发生的情况类似于这样一个事实,即您有基本类型double及其“类等效”Double,而且您可以无缝地使用另一个类型,因为(因为Java 5)在本例中编译器会对您进行装箱/取消装箱。

但是对于数组,它不会这么做;所以Double[]不是double[]的“包装类”。

如果你有一个double[]数组,你想要“变成”一个Double[],你别无选择,只能复制你自己.例如:

代码语言:javascript
复制
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]);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28066551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档