java从没有if语句的数组中获取instanceof type
注意:这是我问题的一个抽象版本,因为许多实际代码可能会让人困惑,与问题无关
我有一个对象的数组/数组列表,这些对象都从另一个类继承了它们的信息
比如
class A
class B extends A
class C extends A
class D extends A
类B、C和D的对象都进入类型A的数组
现在,当它们出现时,我想将它们转换回原始类型,以使用特定的方法/变量等。我如何做到这一点,而不必通过一组if语句来尝试找出它是什么类型的子类这使得我的代码非常不灵活,因为每次添加扩展类a的新类时,我都必须编写一组新的if语句。有没有办法简单地返回到对象所在的类的确切名称
# 1 楼答案
正如你所发现的,这很难看。您应该改用多态性: