ジェネリック全体がちょっとループに陥っています。RTT はさらにそうです。
具体的に?ああ、要点は次のとおりです。
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
そして、私はそれを次のように呼びます:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
これは、実際のヘルパーでクエリの戻り値の型を非常に柔軟に割り当てることができるようにするためです。いくつかのキャストとオブジェクトの作成を行います。私が見ているのは、一致するものがないということです。これを別の方法で行う必要がありますか? それとも、アイデア全体が悪いのでしょうか?
そして、これの本当の核心は、class.isInstance と instanceOf 演算子の違いを理解していないことです。後者を使用する必要がありますか?