java - 无法将Object []转换为Integer []

标签 java compiler-errors

使用toArray方法将TreeSet对象转换为数组,但是出现错误:
Object[] cannot be converted to Integer[]
这是代码:

public static void main (String[] args) {
    TreeSet elems = new TreeSet<Integer>();
    int[] elemsToAdd = {1,2,3,4};

    for(int i = 0; i < elemsToAdd.length; i++){
        elems.add(elemsToAdd[i]);
    }
    Integer[] elemsArray = elems.toArray(new Integer[elems.size()]);
 }

我已经在其他线程中搜索了答案,但是所有这些线程都建议使用带有Integer数组的toArray方法作为参数,但是我的仍然抛出错误。

最佳答案

那是由于您使用原始类型。当elems定义为原始TreeSet时,elems.toArray返回Object[]而不是Integer[]

更改

TreeSet elems = new TreeSet<Integer>();


TreeSet<Integer> elems = new TreeSet<Integer>();

关于java - 无法将Object []转换为Integer [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53039592/

相关文章:

java - 如何将 SQL 中的 LONGBLOB 图像制作成缓冲图像以显示在标签中

Java - 确保集合中的项目只能使用一次

c++ - 在 Hackerearth 上出现运行时错误(SIGSEGV),无法找出代码中的问题

c# - 编译时出错 : "Expected class, delegate, enum, interface, or struct"

java - 如何等待异步 Observable 在另一个 Observable 上完成

java - 从图像生成多边形(填充形状)

java - Spring MVC XML View

C++模板编译错误: expected primary-expression before ‘>’ token

android - 这个错误意味着什么以及如何解决它?

c++ - ISO C++禁止在结构内初始化成员