Java 无法将对象[]转换为整数[]
使用toArray方法将TreeSet对象转换为数组,但出现错误:Java 无法将对象[]转换为整数[],java,compiler-errors,Java,Compiler Errors,使用toArray方法将TreeSet对象转换为数组,但出现错误: 对象[]无法转换为整数[] 代码如下: 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(
对象[]无法转换为整数[]
代码如下:
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()]);
}
publicstaticvoidmain(字符串[]args){
树集元素=新树集();
int[]elemsToAdd={1,2,3,4};
for(int i=0;i
我在其他线程中搜索了答案,但是所有线程都建议使用toArray方法和整数数组作为参数,但我的线程仍然会抛出错误。这是由于您使用了原始类型。当
elems
被定义为原始TreeSet
时,elems.toArray
返回对象[]
,而不是整数[]
改变
TreeSet elems = new TreeSet<Integer>();
TreeSet元素=新的TreeSet();
到
TreeSet元素=新的TreeSet();
Erans Answer解决了错误,但我也愿意做出自己的贡献
TreeSet
接受任何对象类型,使其成为TreeSet
将允许您在TreeSet中放置Integer
值,下面是如何定义它的
TreeSet<Integer> elems = new TreeSet<>();
最后,您不需要将新整数[elems.size()]
定义为elems.toArray(新整数[0])
就足够了
经过所有的改变,这就是最终的结果
public static void main(String[] args) {
TreeSet<Integer> elems = new TreeSet<>();
int[] elemsToAdd = {1, 2, 3, 4};
for (int anElemsToAdd : elemsToAdd) {
elems.add(anElemsToAdd);
}
Integer[] elemsArray = elems.toArray(new Integer[0]);
}
publicstaticvoidmain(字符串[]args){
树集元素=新树集();
int[]elemsToAdd={1,2,3,4};
对于(int anElemsToAdd:elemsToAdd){
元素添加(anElemsToAdd);
}
整数[]elemsArray=elems.toArray(新整数[0]);
}
实际上不需要第二个整数,TreeSet elems=new TreeSet()代码>
for (int anElemsToAdd : elemsToAdd) {
elems.add(anElemsToAdd);
}
public static void main(String[] args) {
TreeSet<Integer> elems = new TreeSet<>();
int[] elemsToAdd = {1, 2, 3, 4};
for (int anElemsToAdd : elemsToAdd) {
elems.add(anElemsToAdd);
}
Integer[] elemsArray = elems.toArray(new Integer[0]);
}