java for each循环需要对象作为类型,而它包含一个整数数组

java for each循环需要对象作为类型,而它包含一个整数数组,java,arraylist,Java,Arraylist,我有一个Java初学者的问题 我正在填写一个ArrayList,如下所示: private ArrayList getDuplicatesIndexes(char[] letters) { ArrayList<int[]> duplicatesIndexes = new ArrayList<int[]>(); for(int i = 0; i < letters.length; i++ ) { for

我有一个Java初学者的问题

我正在填写一个
ArrayList
,如下所示:

   private ArrayList getDuplicatesIndexes(char[] letters) {
        ArrayList<int[]> duplicatesIndexes = new ArrayList<int[]>();

        for(int i = 0; i < letters.length; i++ ) {

            for(int j = 0; j < letters.length; j++) {
                System.out.println("compare this");
                System.out.println(letters[i]);
                System.out.println("with this:");
                System.out.println(letters[j]);
                if(letters[i] == letters[j] && i != j) {
                    System.out.println("match!");
                    int[] indexes = new int[2];
                    indexes[0] = i;
                    indexes[1] = j;
                    duplicatesIndexes.add(indexes);
                }
            }
        }

        return duplicatesIndexes;
    }
private void checkForSingularLetters(ArrayList duplicatesIndexes, char[] letters) {
        for(int[] indexes : duplicatesIndexes ){
            System.out.println(indexes[0]);
            ...
        }


}
我无法理解为什么foreach循环需要一个对象,而我确信它充满了
int[]


也许有人能给我解释一下。谢谢。

您在方法
checkForSingularLetters
中使用了
ArrayList
的原始形式,这意味着迭代时需要
对象。毕竟,原始
ArrayList
可以包含任何内容

在方法参数中使用
ArrayList
的一般形式:

private void checkForSingularLetters(ArrayList<int[]> duplicatesIndexes, char[] letters) 
private void checkForSingularLetters(数组列表重复索引,字符[]个字母)

您有一个默认包含
对象的非类型化
ArrayList
——尝试通过
ArrayList Duplicates扩展方法签名索引,

在方法名称中,您有一个原始ArrayList。因此,它希望其中的项是对象类型。尝试在方法签名中使用ArrayList duplicateIndexes,它应该可以解决您的问题。

所以基本上我没有明确告诉参数ArrayList类我想要一个整数数组作为类型?这导致将is解释为“某种类型”的对象?是的,当使用类的原始形式时,所有方法的签名都会变成它们自己的类型擦除,这意味着迭代器不会返回
int[]
,而是返回
对象
。很好,感谢您的评论和回答,我们会尽快批准它。最后,有人能给我指出一些关于泛型的更深入的有用文章吗?在你最喜欢的搜索引擎中搜索“java泛型教程”。。。已经这样做了,我想知道是否有人有一个很好的回复。但没关系。