作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找更好的方法来执行以下操作:
class Animal {}
class Dog extends Animal
class Cat extends Animal
class Rat extends Animal
class Bat extends Animal
.. 50 such animals
现在我有一个动物列表 - List<Animal>
.
我想做这样的事情:
for (Animal animal : animalList) {
if (animal instanceof (Dog or Cat or 1 of 10 such animals) ) {
//do something with animal.
}
}
如果动物除了执行 10 个实例检查之外,还有什么好方法来检查该动物是否是子列表的实例?
最佳答案
扩展 Rogue 的评论:
有动物方法来区分子类,例如Animal.isMammal()
或Animal.hasFourLegs()
然后子类具有诸如 Dog.isMammal = true
的属性或 Bat.hasFourLegs = false
关于java - 如何在 Java 中检查以下实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57666963/
我是一名优秀的程序员,十分优秀!