从数组中拖出一个特定的对象

时间:2015-02-23 13:13:13

标签: java arrays object shuffle

我有一个存储不同哺乳动物的阵列,存储在哺乳动物阵列中的物体是狗,猫等我用这段代码创建的:

Mammals obj = new Cats();
Mammals obj = new Dogs();

etc....

现在我想从数组中移出一个特定的对象,只是打印出来。假设我想从这个printCat方法打印出一个cat对象 - 如何修改下面的代码,以确保只有cat对象被洗牌?

public static void printCat() {

    Mammals item;

    int index = shuffleArray.nextInt(mammals.size());
    item = mammals.get(index);

    System.out.println(item);
}

2 个答案:

答案 0 :(得分:1)

public static void printCat() {
    Mammal result;

    do 
    {
        int index = shuffleArray.nextInt(mammals.size());
        result = mammals.get(index);
    } while (!(result instanceof Cat));

    System.out.println(result);
}

警告的一句话......确保哺乳动物收集品在运行之前包含一只猫,否则你将陷入无限循环。你也可以考虑修改它,这样你就不会多次选择相同的哺乳动物。

答案 1 :(得分:0)

您可以使用:

if(item instanceof Cat){
    System.out.println(item);
}else{
    //it is not cat
}