如何检查一个值是否已存在于其他数组中。就像在下面的代码中,我想检查结果数组的哪些值在 portOut 数组中。我不明白。使用了 Array.asList(result[i]).contains(portOut[i]) 但有什么不对...
int[] portOut = {4000,4001,4002,4003,4004,4005,4006,4007,4008,4009};
int[] result = {4001, 4005, 4003, 0, 0, 0, 0, 0, 0, 0};
for (int i=0; i< portOut.length; i++){
if(Arrays.asList(result).contains(portOut[i])){
System.out.println("out put goes to " + portOut[i] );
}
else{
System.out.println("output of " + portOut[i]+ " will be zero");
}
}
最佳答案
Arrays.asList
是一个通用函数,它采用 T... array
的参数,在 int[]
的情况下,唯一适用的类型是 int[]
,即您的列表将仅包含一个元素,如果是整数,则为数组。要修复它,请使用盒装原始类型:
Integer[] portOut = {4000,4001,4002,4003,4004,4005,4006,4007,4008,4009};
Integer[] result = {4001, 4005, 4003, 0, 0, 0, 0, 0, 0, 0};
关于java - 如何检查一个值是否存在于 Java 中的数组中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24143615/