Java 访问任何数组的特定成员

Java 访问任何数组的特定成员,java,Java,我试图遍历我的arraylist类,以打印出该类中的每个方法。但是,这会一次又一次地重复第一个类的相同方法,而不是遍历类列表并打印每个类的方法。我在做傻事,但我看不见。有人能帮我吗 for (int i = 0; i < classes.size(); i++) { for (int j = 0; j < classes.get(i).getDeclaredMethods().length; j++) { System.out.println(classe

我试图遍历我的arraylist类,以打印出该类中的每个方法。但是,这会一次又一次地重复第一个类的相同方法,而不是遍历类列表并打印每个类的方法。我在做傻事,但我看不见。有人能帮我吗

for (int i = 0; i < classes.size(); i++) {

    for (int j = 0; j < classes.get(i).getDeclaredMethods().length; j++) {

        System.out.println(classes.get(i).getDeclaredMethods()[j].getName());
    }
}
编辑:


对不起,伙计们,故障是declaredMethods函数。我的错误

我认为你的代码是对的。观察到的效果是,代码将打印重载的方法

考虑以下类别:

public class Foo {
    public int bar(){
        return 1;
    }
    public int bar(int i){
        return i;
    }
}
使用您的代码,它将返回:

酒吧 酒吧

您可以将这些名称添加到一个集合中,并在处理完当前类后打印出该集合

for (int i = 0; i < classes.size(); i++) {
    Set<String> methodNames = new HashSet<String>();
    for (int j = 0; j < classes.get(i).getDeclaredMethods().length; j++) {
        methodNames.add(classes.get(i).getDeclaredMethods()[j].getName());
    }
    System.out.println(methodNames);
}

你的代码看起来不错。我最好的猜测是你的类arraylist有问题。如果您使用的IDE允许您逐步完成程序,我建议您使用它。否则,我会将print语句放在打印类名或类似内容的j for循环前后。

尝试将其存储在引用中,然后像这样打印,可能LinkedIn任务中出现了问题


你能告诉我们初始化的类包含什么吗?看不出任何问题,尽管我可能也很愚蠢,你检查过类本身被正确填充了吗?还有,它的打印方法是什么?如果你换头等舱,他们会变吗?
for (int i = 0; i < classes.size(); i++) {

    for (int j = 0; j < classes.get(i).getDeclaredMethods().length; j++) {

         Method[] m=classes.get(i).getDeclaredMethods();
    System.out.println(m.[j].getName()); 
    }
}]