This question already has answers here:
Arrays.asList() not working as it should?
                                
                                    (10个答案)
                                
                        
                                5年前关闭。
            
                    
我正在写一个简单的Java方法。我已经实例化了要迭代的数组

int[] j = new int[8];


然后使用1到100之间的随机值填充该数组。

for (int i = 0; i < j.length; i++){
        j[i] = (int)(Math.random() * 100);
}


现在,我尝试遍历此循环,同时使用Arrays.asList在数组中找到迭代数时替换一行。在下面的语句中,我无法弄清楚为什么没有进行替换。

for(int i = 1; i <= 100; i++){

    //Iterate over the array
    if(Arrays.asList(j).contains(i)){
        System.out.println(i + " Random Typo");
    }
    else{
        System.out.println(i + " I will never spam my friends again.");
    }
}


我知道我可以遍历数组并进行比较,但是我想让asList.contains方法起作用,这样数组就不必迭代100次以上。输出显示“我再也不会向我的朋友发送垃圾邮件了”。在每个通行证上,而不是进行替换。有人看到我的语法错误吗?我没有任何导入错误。

最佳答案

您没有基本类型的列表。

将j更改为

Integer [] j=new Integer[8];

10-08 01:36