我有这个代码,我想知道这是否被认为是不好的做法:
Class<T> type = null;
if (type.isInstance(TypeA.class)) {
for (Object obj : typeAList) {
TypeA mytype = (TypeA) obj;
System.out.println(mytype.getMyId());
}
}
typeAList实际上是参数List<T> typeAList
这里有什么不好的标记吗?这可以做得更好吗?
答案 0 :(得分:4)
如果typeAList
是List<T>
,那你为什么不这样迭代:
for(T obj : typeAList) {
System.out.println(obj.getMyId());
}
如果T
被定义为扩展某些已定义getMyId()
方法的已知类/接口。否则:
for(T obj : typeAList) {
if (obj instanceof TypeA) {
System.out.println(((TypeA)obj).getMyId());
}
}