Java: вызов конкретного метода через размышления об универсальном типе - PullRequest
0 голосов
/ 04 марта 2011

Как я могу вызвать определенный метод для универсального типа?Я хочу вызвать метод получения / установки.

Редактировать: Пример:

class BurningSun<T>
{ 
    public void kitchenSink()
    {
        Class c = Class.forName(/*What to put here for <T> ?*/)
                /*
                Reflections code
                */
    }
}

Хммм, так как же методы получения бина вызываются и устанавливаются в различных средах?

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Внутри универсального типа нет способа получить имя параметра типа во время выполнения, если никто не сказал вам об этом.

Во время выполнения BurningSun<String> и BurningSun<Integer> полностью эквивалентны, и вы даже можете привести одно в другое (хотя это не безопасно для типов).

Итак, обычно, если вам действительно нужен объект класса параметра типа внутри вашего универсального объекта, вы позволяете кому-то дать егов конструктор

2 голосов
/ 04 марта 2011

Ну, все вызовы метода, основанные на отражении, наиболее просты в отношении вставки объектов в метод, молясь, чтобы это сработало.Так что брось и держи пальцы скрещенными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...