【发布时间】:2017-09-12 21:00:20
【问题描述】:
我正在尝试遍历 Class 的数组以确定候选对象是否“有趣”。 A、B、C、D 没有合适的父类(它们是兄弟姐妹,但并非所有兄弟姐妹都很有趣)。我无法添加父类,也无法修改 A、B、C、D。我想做类似下面的事情,但语法不合法。
private static final Class[] types = { A.class, B.class, C.class, D.class};
....
void method(Object cand) {
for (Class c : types) {
if (cand instanceof c) {//cand is interesting, but c isn't type
( (c) cand).methodInInterestingClasses();
}
}
}
【问题讨论】:
-
Nit:不要使用原始类型。使用
List<Class<?>>而不是Class[]。 -
同意。以最快的速度输入演示。
标签: java instanceof