Tag: rtti

Java isInstance vs instanceOf运算符

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