Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从arraylist中提取特定对象?_Java_Inheritance_Arraylist_Polymorphism_Overriding - Fatal编程技术网

Java 如何从arraylist中提取特定对象?

Java 如何从arraylist中提取特定对象?,java,inheritance,arraylist,polymorphism,overriding,Java,Inheritance,Arraylist,Polymorphism,Overriding,我制作了一个动物超类,鲨鱼和鲸鱼亚类。我将使用什么来打印此arraylist中的Shark对象 司机: import java.util.ArrayList; public class Creator { public static void main(String[] args){ ArrayList<Animal> obj = new ArrayList<Animal>(); obj.add(new Shark("James"));

我制作了一个动物超类,鲨鱼和鲸鱼亚类。我将使用什么来打印此arraylist中的Shark对象

司机:

import java.util.ArrayList;

public class Creator {     
  public static void main(String[] args){

    ArrayList<Animal> obj = new ArrayList<Animal>();
    obj.add(new Shark("James"));
    obj.add(new Shark("Mike"));
    obj.add(new Whale("Steve"));
    obj.add(new Whale("Tommy"));

    for (Animal a: obj){
    System.out.println(a.getName());
    }
  }
}
import java.util.ArrayList;
公共类创建者{
公共静态void main(字符串[]args){
ArrayList obj=新的ArrayList();
对象添加(新鲨鱼(“詹姆斯”);
对象添加(新鲨鱼(“迈克”);
对象添加(新鲸鱼(“史蒂夫”);
对象添加(新鲸鱼(“汤米”);
用于(动物a:obj){
System.out.println(a.getName());
}
}
}

您可以使用
instanceof
检查超类列表中的特定子类

for (Animal a: obj){
   if(a instanceof Shark)
    System.out.println(a.getName());
}

您可以使用
instanceof
检查超类列表中的特定子类

for (Animal a: obj){
   if(a instanceof Shark)
    System.out.println(a.getName());
}

简单的变体只是使用
instanceof
。您还可以在基类中创建一个
getType()
方法,该方法将返回一个
enum
对象或其他实体来定义子类中的物种

简单的变体只是使用了
instanceof
。您还可以在基类中创建一个
getType()
方法,该方法将返回一个
enum
对象或其他实体来定义子类中的物种

使用
instanceof

在运行时,如果RelationalExpression的值不是
null
,则
instanceof
运算符的结果是
true
,并且可以将引用转换为ReferenceType而不引发ClassCastException。否则结果为
false

例如:迭代您的
ArrayList

if(yourObject instanceof Shark){
    System.out.println(yourObject.getName());
}

使用
instanceof

在运行时,如果RelationalExpression的值不是
null
,则
instanceof
运算符的结果是
true
,并且可以将引用转换为ReferenceType而不引发ClassCastException。否则结果为
false

例如:迭代您的
ArrayList

if(yourObject instanceof Shark){
    System.out.println(yourObject.getName());
}

我写了同样的代码,但是你先发布了!!不管怎样,很好的逻辑。谢谢你对第一个路障的帮助!我写了同样的代码,但是你先发布了!!不管怎样,很好的逻辑。谢谢你对第一个路障的帮助!