Вся эта штука с дженериками заставляет меня зацикливаться, и более того, 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? Стоит ли использовать последнее?