Создание универсального класса со значением в Java - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть универсальный класс, назовем его Foo, тип T и значение T в виде строки.Теперь я хочу создать экземпляр Foo<T> с этим значением.

То, как я делаю это с неуниверсальными классами:

Class<?> cls = Class.forName(fooStr);

Но как предоставить ему параметр шаблона?

String fooStr; //Foo
String typeStr; //Integer, String, e.t.c.
String valueStr; 

Я хочу создать этот экземпляр new Foo<T>(value)

Foo может быть любым именем из набора {ChildNode, ParentNode}, поэтому оно разрешается во время выполнения.

1 Ответ

0 голосов
/ 08 декабря 2018

Невозможно создать экземпляр типа Foo<T>.Вы можете сделать только экземпляр типа Foo.Общий параметр <T> будет удален компилятором.Он не будет присутствовать во время выполнения.Вот как работают дженерики.Дженерики предназначены только для лучшей проверки типов и предотвращения приведения типов.

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