Лучший способ справиться с обработкой дженериков Java?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Лучший способ справиться с обработкой дженериков Java?

Сообщение Anonymous »

Иметь метод: < /p>

Код: Выделить всё

public  T foo(Class type);
< /code>

Когда я называю это как: < /p>

String s = foo(String.class);
< /code>

Все в порядке. Это также работает: < /p>

Set s = foo(Set.class);
< /code>

Однако следующее не компилируется: < /p>

Set s = foo(Set.class);    // compilation error
< /code>

Так что я исправляю это с чем -то глупым, например: < /p>

Set tmp = foo(Set.class);
Set s = (Set) tmp;
< /code>

Я не могу изменить подпись foo () < /code>. Есть ли лучший способ сделать это задание, которое мне не хватает? Итак, метод foo 
Вот метод, который требует некоторого класса ввода плюс . Он берет вход и создает экземпляр данного класса. Таким образом, реальная подпись foo < /code> может быть: < /p>

public T parseStringToClass(String input, Class targetClass);
< /code>

и использование может быть: < /p>

Integer value = parseStringToClass("123", Integer.class);
< /code>

Здесь нет ничего необычного - это довольно распространенная подпись для любого анализатора и преобразователя. < /p>

Подробнее здесь: https://stackoverflow.com/questions/351 ... s-handling
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»