整个泛型的东西有点像扔我一个循环,更多的RTT.
Specificis?啊,这里的要点是:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我会这样称呼它:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
Run Code Online (Sandbox Code Playgroud)
这样我就可以在实际帮助器中灵活地分配查询返回类型.它做了一些铸造和对象创建.我所看到的是,没有比赛,我应该以其他方式这样做吗?或者整个想法是不是很糟糕?
而真正的核心是我不理解class.isInstance和instanceOf运算符之间的区别?我应该使用后者吗?