Java 将整型对象转换为基元类型时出现问题
我试图在codewars上做这个挑战: 我将原始数组更改为arraylist,但随后必须使用arraylist中的值与基元类型进行比较 我尝试使用(int)强制转换整数对象,但仍然存在强制转换错误。当我尝试执行(int)(arrList.get(j)).equals(current)时,它告诉我布尔值不能转换为intJava 将整型对象转换为基元类型时出现问题,java,arrays,arraylist,casting,Java,Arrays,Arraylist,Casting,我试图在codewars上做这个挑战: 我将原始数组更改为arraylist,但随后必须使用arraylist中的值与基元类型进行比较 我尝试使用(int)强制转换整数对象,但仍然存在强制转换错误。当我尝试执行(int)(arrList.get(j)).equals(current)时,它告诉我布尔值不能转换为int import java.util.*; 公共类不足{ 公共静态int[]deleteNth(int[]元素,int MaxOccurrents){ ArrayList arrLis
import java.util.*;
公共类不足{
公共静态int[]deleteNth(int[]元素,int MaxOccurrents){
ArrayList arrList=新的ArrayList(Arrays.asList(elements));
对于(int i=0;i=maxoccurrents){
删除(j);
}else if(arrList.get(j).equals(current)){
事件++;
}
}
}
int-arr[]=新的int[arrList.size()];
对于(int i=0;i
它已编译,但测试显示:class[I不能转换为class java.lang.Integer([I和java.lang.Integer在加载程序“引导”的模块java.base中”)数组。asList(elements)
不做您认为它做的事情,它返回一个包含int[]数组,而不是数组的元素。不能创建基元列表。如果要使用列表,必须先将int
转换为整数
您可以使用
List<Integer> arrList = Arrays.stream(elements).boxed().collect(Collectors.toList());
array.asList(elements)
的作用与您认为的不同,它返回的是一个包含int[]数组的列表,而不是数组的元素。您不能创建原语列表。如果要使用列表,必须首先将int
转换为整数
您可以使用
List<Integer> arrList = Arrays.stream(elements).boxed().collect(Collectors.toList());
你可以替换
ArrayList arrList = new ArrayList<>(Arrays.asList(elements));
ArrayList arrList=新的ArrayList(Arrays.asList(elements));
与
List arrList=Arrays.stream(elements).boxed().collect(Collectors.toList());
您可以替换
ArrayList arrList = new ArrayList<>(Arrays.asList(elements));
ArrayList arrList=新的ArrayList(Arrays.asList(elements));
与
List arrList=Arrays.stream(elements).boxed().collect(Collectors.toList());
[I
是一种数组类型,因此无法将其强制转换为整数[I
是数组类型,因此您无法将其转换为整数
是否有需要导入的库?当我使用您的代码时,它告诉我找不到符号。不。它抱怨的是哪个符号?代码使用的是java.util.Arrays
,我认为您的代码包括java.util.
和>java.util.stream.Collectors
。我想都是从java 8开始的。花哨的代码从来都不适合我。我只是使用了一个循环来手动将值添加到列表中,现在就开始工作了。有没有需要导入的库?当我使用你的代码时,它告诉我找不到符号。没有。它抱怨的是哪个符号?代码使用的是java.util.Arrays
我认为您可以使用java.util.*
和java.util.stream.Collectors
来编写它。我认为这两种代码都是从java 8开始编写的。奇特的代码从来都不适用于我。我只是使用了一个循环来手动将值添加到列表中,现在就可以使用了。
List<Integer> arrList = Arrays.stream(elements).boxed().collect(Collectors.toList());