Я только начал играть с ByteBuddy и работаю над парой примеров, чтобы освоиться.
В этом упражнении я пытаюсь заменить некоторый код, использующий ASM, на ByteBuddy.
До сих пор я был успешным, когда дело доходит до необобщенных типов. Например, я могу легко определить поле, например, вот так
builder.defineField("names", List.class, Visibility.PRIVATE)
если все, что я хочу сделать, это создать поле необработанного типа List
.
Однако когда дело доходит до введения дженериков, я застрял.
Очевидно, то, как я определил поле (используя Class
), означает, что общие типы потеряны. Читая документацию (особенно часть Working with generic types
), я не могу понять, как создать Поле списка, если оно имеет известный универсальный тип, например, если это другой POJO. Скажем, у меня есть следующий POJO:
public class Dummy {
private String name;
//getters, setters
}
и я хочу создать поле List<Dummy>
, как мне выполнить такую задачу?
Спасибо!