gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 01:35:34 25 4
gpt4 key购买 nike

这可能吗?我已经为此苦苦挣扎了一段时间。我最初是先转换为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com