Java中一些严重的重复问题

时间:2015-03-02 20:24:27

标签: java

我不知道这对我来说是不是一种精神障碍,或者尽管花了几个小时研究已经提出的问题,但我还是无法得出最后的结论。我迷失并迷茫,试图理解这么多不同的答案。 :(

请告诉我执行以下操作的最佳方法。我花了相当多的时间来解决现有的问题,但无法获得底线。

我正在尝试将一个arraylist转换为一个数组,同时这样做会出现另一个关于对象和数组类型转换的问题。

    ArrayList<Integer> al = new ArrayList<Integer>();
    al.add(1);
    al.add(2);
    al.add(3);
    Object[] oa = al.toArray();
    int [] a = new int[al.size()];
    a = (int[]) oa;

在最后一行中,它表示我无法从object []转换为int []。

那么,我如何对它进行类型转换,因为toArray方法只返回一个Object数组。

2 个答案:

答案 0 :(得分:4)

数组oa是一个Integer对象数组。而且您正在尝试将其转换为int s。

的数组

您必须记住,当您将数组转换为其他类型时,不会发生对基本类型(Integer)的引用类型(int)的自动装箱/取消装箱。

答案 1 :(得分:0)

你不能施展它;您从Integer获取oa,将每个值int作为a

} {/ 1}}。