Java 如何从arraylist中提取特定对象?
我制作了一个动物超类,鲨鱼和鲸鱼亚类。我将使用什么来打印此arraylist中的Shark对象 司机: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"));
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());
}
我写了同样的代码,但是你先发布了!!不管怎样,很好的逻辑。谢谢你对第一个路障的帮助!我写了同样的代码,但是你先发布了!!不管怎样,很好的逻辑。谢谢你对第一个路障的帮助!