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