Как написать bytebuddy код для частного HashMapгм ;? - PullRequest
0 голосов
/ 24 октября 2019

Если я напишу байтовый код

.defineProperty("hm",TypeDescription.Generic.Builder.parameterizedType(HashMap.class, String.class, HashSet.class).build())

, как это, то результат будет private HashMap<String, HashSet> hm;

, но мое требование private HashMap<String, HashSet<String>> hm;

1 Ответ

0 голосов
/ 27 октября 2019

Строитель принимает TypeDefinition байтов Бадди столько же, сколько и литералы типов, поэтому вы можете просто вкладывать встроенные типы:

TypeDescription.Generic type = TypeDescription.Generic.Builder.parameterizedType(
  TypeDescription.ForLoadedType.of(HashMap.class),
  TypeDescription.Generic.Sort.describe(String.class),
  TypeDescription.Generic.Builder.parameterizedType(HashSet.class, String.class).build()
).build();
...