我有一个对象列表,这些对象都继承自一个基类。现在我想只对列表中的一个实例应用特定操作。
在这种情况下,使用 "instanceof" 好吗?还是应该使用自定义的 "enum" 来区分对象?
如果这种方法通常不是很好,我该怎么做得更好呢?
在这种情况下,使用 "instanceof" 好吗?还是应该使用自定义的 "enum" 来区分对象?
abstract class Base;
class Foo extends Base;
class Bar extends Base;
List<Base> bases;
for (Base base : bases) {
if (base instanceof Bar.class) {
//execute my custom operation on the base object
doSomething((Bar) base);
}
}
如果这种方法通常不是很好,我该怎么做得更好呢?