Java:访问数组列表中项的原始类

时间:2015-09-16 15:46:34

标签: java arraylist

我们假设我有以下类:

public class AnSuperClass { ... }

public class AnBetterClass extends AnSuperClass { ... }

我还有以下ArrayList:

private final ArrayList<AnSuperClass> theList;

我把AnBetterClass和AnSuperClass类型的对象放在其中:

theList.add(new AnBetterClass());
theList.add(new AnSuperClass());

如果我遍历列表:我如何知道我拥有的两个类中的哪一个?以下查询将始终返回false:

boolean foundOther = false;
for(AnSuperClass asc: theList)
    if(!(asc instanceof AnSuperClass))
        foundOther = true;
return foundOther;

帮助理想

P.S。注释也不起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用getClass()方法

    ArrayList<AnSuperClass> theList = new ArrayList<>();
    theList.add(new AnBetterClass());
    theList.add(new AnSuperClass());
    for(AnSuperClass asc: theList)
        System.out.println(asc.getClass());

打印出来

class pck.AnBetterClass
class pck.AnSuperClass