Java:在对象数组中,如何提取指定子类的对象
这是我的尝试:Java:在对象数组中,如何提取指定子类的对象,java,arrays,object,subclass,Java,Arrays,Object,Subclass,这是我的尝试: String type; kb.nextLine(); type=kb.nextLine(); for (PersonalInformation individual : arr) { if(individual != null && type.equals("Full-Time Faculty") ) { if(individual instanceof FullTimeFaculty){ individua
String type;
kb.nextLine();
type=kb.nextLine();
for (PersonalInformation individual : arr) {
if(individual != null && type.equals("Full-Time Faculty") ) {
if(individual instanceof FullTimeFaculty){
individual.showInfo();
}
}
}
在本例的输出中,它只显示数组中子类的第一个对象的信息,而不是所有对象的信息 我们没有足够的信息,但请检查此案例
arr
只包含一个元素FullTimeAculty的单个实例
为false单个
为空else
块以了解问题:
for (PersonalInformation individual : arr) {
if(individual != null && "Full-Time Faculty".equals(type) ) { // constant left : variable right !
if(individual instanceof FullTimeFaculty){
individual.showInfo();
} else {
System.err.println("not FullTimeFaculty");
}
} else {
System.err.println("null or not Full-Time Faculty");
}
}
这是什么
类型
变量?不要使用制表符进行缩进,而是在发布的代码中使用空格,因为网站的格式化软件不能很好地处理制表符。我试图为您改进问题格式,但将来我们要求您自己这样做。编辑:而且你在每一行都挤满了太多的代码。每行代码都有自己的一行。至于你的问题,这里可能有用。我添加了类型变量creationAlso作为旁白,最好避免使用字符串作为类型信息。也许一个类或枚举可以更好地实现这一点。