String values = "[some json array]"
Foo foo = new Foo();
foo.setValues(new Gson().fromJson(values, new TypeToken<List<Bar>>() {}.getType()));
Как он понимает что лист надо заполнить Bar'ами если generic'и после компиляции превращаются в Object ? И почему не работает такая конструкция?
foo.setValues(readJsonField(values));
public static <T> T readJsonField(String field) {
if (field == null) {
return null;
}
return (T) new Gson().fromJson(field, new TypeToken<T>() {}.getType());
}