首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从列表到数组的java.lang.ArrayStoreException

从列表到数组的java.lang.ArrayStoreException
EN

Stack Overflow用户
提问于 2021-05-10 19:03:26
回答 1查看 191关注 0票数 0

当我使用来自Java的toArray函数时,我会得到一个没有消息的ArrayStoreException。一年前,我在几乎相同的模型中实现了绝对相同的代码,它在那里工作,查询工作良好,并从DB返回1,2。下面是我使用的代码:

代码语言:javascript
复制
List<?> firstColumn = Base.firstColumn(query, paramList.toArray());
return firstColumn.toArray(new Integer[0]);

我不明白为什么它不会显示错误信息,没有它,我迷失了几天,因此我转向你们,谢谢提前!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-10 19:24:38

问题是您的firstColumn列表不包含Integer实例。由于您声称它包含[1,2],所以您的列表可能包含ByteShortLong实例。Java将对原语类型执行一些自动转换,但它不会对包装器对象或数组执行这些转换。所以你有两个选择:

  • 返回正确类型的数组:

返回firstColumn.toArray(新空头);/或Byte或Long

  • ,或者,如果这不是一个选项,则自己执行到整数的转换:

返回firstColumn.stream().map(x -> .map)

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

https://stackoverflow.com/questions/67476268

复制
相关文章

相似问题

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