首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从哈希表中检索浮动数组

无法从哈希表中检索浮动数组
EN

Stack Overflow用户
提问于 2013-07-18 20:48:12
回答 1查看 118关注 0票数 0

我被限制在Java中使用遗留集合。我创建了一个哈希表

代码语言:javascript
复制
private Hashtable dataStock = new Hashtable();

这个哈希表中的一个条目是一个浮点数组

代码语言:javascript
复制
dataStock.put("someArray", new Float[24]);

当我想要从哈希表中检索此条目时,如下所示:

代码语言:javascript
复制
Float[] anotherArray = (Float[]) dataStock.get("someArray");

我得到了下面的强制转换异常:

代码语言:javascript
复制
Exception in thread "main" java.lang.ClassCastException
at java.lang.Throwable.fillInStackTrace(<unknown source file>:130)
at java.lang.Throwable.<init>(<unknown source file>:51)
at java.lang.Exception.<init>(<unknown source file>:13)
at java.lang.RuntimeException.<init>(<unknown source file>:18)
at java.lang.ClassCastException.<init>(<unknown source file>:17)
at fr.ecosense.business.FlashMemory.restoreStockData(FlashMemory.java:297)

我做错了什么?为什么在Hashtable中存储数组不同于存储其他对象?我正在寻找一个解释,但关于在哈希表中存储数组的信息很少。

编辑:我正在使用Java ME。也许这会导致一些意想不到的行为..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-18 20:52:52

只是为了演示一下。这段代码:

代码语言:javascript
复制
    Hashtable dataStock = new Hashtable();
    dataStock.put("someArray", new Float[24]);
    Float[] anotherArray = (Float[]) dataStock.get("someArray");

效果很好。这意味着,在您的代码中的某个地方,您在dataStock中放入了一些其他值,其键为someArray,其类型与Float[]不同。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17723908

复制
相关文章

相似问题

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