Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将整型对象转换为基元类型时出现问题_Java_Arrays_Arraylist_Casting - Fatal编程技术网

Java 将整型对象转换为基元类型时出现问题

Java 将整型对象转换为基元类型时出现问题,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

我试图在codewars上做这个挑战: 我将原始数组更改为arraylist,但随后必须使用arraylist中的值与基元类型进行比较

我尝试使用(int)强制转换整数对象,但仍然存在强制转换错误。当我尝试执行(int)(arrList.get(j)).equals(current)时,它告诉我布尔值不能转换为int

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());