Java isInstance против оператора instanceOf

В целом, дженерики - это то, что заставляет меня замолчать, а тем более RTT.

Specificis? Ах, вот суть:

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? Должен ли я использовать последний?

Ответы на вопрос(3)

Ваш ответ на вопрос