java - 将 Java 中的 ArrayList.toArray() 类型转换为普通数组

标签 java arrays casting

我在执行以下操作时遇到了一些问题:

int[] tmpIntList = (int[])MyArrayList.toArray(someValue);

MyArrayList 只包含数字。我得到一个类型转换错误,因为 ArrayList 只返回 Object[] 但为什么不能把它变成一个 int[]

最佳答案

ArrayList 不能包含 int 值,因为它由 Object[] 支持(即使是适当的通用)。

最接近的是 Integer[] - 它不能转换为 int[]。您必须分别转换每个元素。我相信有些库可以为所有原始类型实现这些转换。

基本上问题在于 Java 泛型不支持原始类型。

关于java - 将 Java 中的 ArrayList.toArray() 类型转换为普通数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872980/

相关文章:

c++ - 类似于 std::shared_ptr 中的 "cast from/to void"

java - 为什么 Tomcat 在使用共享库时启动速度会慢很多?

java - 获取以毫秒为单位的给定纪元时间的午夜纪元时间

python - 带有 numpy 数组的分布式 "if"

c++ - 为什么 C++ 选择将我的返回值转换为 int?

java - 为什么根据移位顺序对移位字节进行移位会产生不同的值?

java - 空指针异常。无法创建 Activity

java - 如何将自定义 java 模块加载到 Wowza 流引擎中?

java - 我需要将逗号分隔的字符串转换为数组列表,然后计算这些分数的平均值

Java ArrayList的正确使用