将对象数组转换为整数数组错误
将对象数组转换为整数数组错误
可能重复:
\n如何将ListArrayList
,当我尝试将其转换为整数数组,因为我需要进行涉及整数的操作时,我得到了这个错误:\n
\n不兼容的类型
\n 需要:int[]
\n 找到:java.lang.Object[]\n
\n这是我的代码:\n
Listids_rdv = new ArrayList (); // 执行SQL语句,然后: while (resultat.next()) { ids_rdv.add(resultat.getInt("id_rdv")); } int[] element_rdv_id = ids_rdv.toArray(); //Problem
\n你有任何想法吗?
Conversion Object[] to int[] error的问题出现的原因是原始对象是Integer类的实例。解决方法是将Integer数组转换为int数组。具体方法是使用toArray方法将ArrayList转换为Object数组,然后使用Arrays类的stream方法将Object数组转换为IntStream,最后使用toArray方法将IntStream转换为int数组。
以下是解决该问题的代码片段:
ArrayListids_rdv = new ArrayList<>(); // 添加元素到ids_rdv // 将ArrayList转换为Object数组 Object[] element_rdv_id_object = ids_rdv.toArray(); // 将Object数组转换为IntStream,并转换为int数组 int[] element_rdv_id = Arrays.stream(element_rdv_id_object) .mapToInt(obj -> (int) obj) .toArray();
通过以上代码,我们可以将ArrayList中的Integer对象转换为int数组。这样,我们就可以直接使用element_rdv_id数组中的元素,而不需要使用intValue()方法。
关于`new Integer[0]`的作用,可以在这里找到更多信息。