use*_*843 4 java arrays double object
这可能吗?我一直在努力解决这个问题.我最初是Long []先铸造然后转换为double []让我编译但是然后给了我一个错误的铸造.我现在卡住了.
在这段代码中,我正在迭代我的hashmap中的条目.
Object[] v = null;
for(Map.Entry<String,NumberHolder> entry : entries)
{
v = entry.getValue().singleValues.toArray(); //need to get this into double []
}
Run Code Online (Sandbox Code Playgroud)
这是我的numberHolder类
private static class NumberHolder
{
public int occurrences = 0;
public ArrayList<Long> singleValues = new ArrayList<Long>();
}
Run Code Online (Sandbox Code Playgroud)
非泛型toArray可能不是最佳的,我建议你改用for循环:
Long[] v = new Long[entry.getValue().singleValues.size()];
int i = 0;
for(Long v : entry.getValue().singleValues) {
v[i++] = v;
}
Run Code Online (Sandbox Code Playgroud)
现在你有一个对象数组Long而不是Object.但是,它Long是一个整数值而不是浮点值.你应该能够施放,但它闻起来像一个潜在的问题.
您也可以直接转换而不是使用Long数组:
double[] v = new double[entry.getValue().singleValues.size()];
int i = 0;
for(Long v : entry.getValue().singleValues) {
v[i++] = v.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)
概念:您不能尝试在此处转换数组,而是转换每个元素并将结果存储在新数组中.
| 归档时间: |
|
| 查看次数: |
8719 次 |
| 最近记录: |