java - 在java中将Object []转换为double []

标签 java arrays object double

这可能吗?我已经为此苦苦挣扎了一段时间。我最初是先转换为 Long [],然后转换为 double [],这让我可以编译,但随后给了我一个转换错误。我现在卡住了。

在这段代码中,我迭代了 HashMap 中的条目。

 Object[] v = null;
 for(Map.Entry<String,NumberHolder> entry : entries)
 {
       v = entry.getValue().singleValues.toArray(); //need to get this into double []
 }

这是我的 numberHolder 类

private static class NumberHolder
{
    public int occurrences = 0;
    public ArrayList<Long> singleValues = new ArrayList<Long>();
}

最佳答案

非泛型 toArray 可能不是最优的,我建议您改用 for 循环:

Long[] v = new Long[entry.getValue().singleValues.size()];
int i = 0;
for(Long v : entry.getValue().singleValues) {
  v[i++] = v;
}

现在您有一个 Long 对象数组 而不是 Object。但是,Long 是整数值而不是 float 。您应该可以进行转换,但闻起来像是潜在的问题。

您也可以直接转换,而不是使用Long 数组:

double[] v = new double[entry.getValue().singleValues.size()];
int i = 0;
for(Long v : entry.getValue().singleValues) {
  v[i++] = v.doubleValue();
}

概念:您不能尝试在此处转换数组,而是转换每个元素并将结果存储在新数组

关于java - 在java中将Object []转换为double [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16149006/

相关文章:

Java::在不同的类中使用鼠标监听器对象

java - 使用 PowerMock 和 Mockito 的 protected 构造函数测试类

php - 计算数组中每个值的出现次数

c# - 如何在 wcf 服务中获取 Soap Envelope 属性值

java - Spring Security 3 + GAE——我真的需要整个堆栈吗?

java - 在图像上写入文本时出错

javascript - 对象应保持其状态

javascript - 使用 TypeScript 扩展 Object.prototype

arrays - 如何计算两个数组中的匹配项?

javascript - 从数组javascript创建数组