Type type = new TypeToken<List<Artist>>() {}.getType();
mArtistsList = new Gson().fromJson(jsonSearchResults, type);
Type type = new TypeToken<List<Artist>>() {}.getType();
mArtistsList = new Gson().fromJson(jsonSearchResults, type);
{} 表示一个不重写任何方法的匿名类。这里有另一个你之前见过的匿名类:
Runnable r = new Runnable() {
@Override
public void run() {
}
};
.getType() 返回一个 java.lang.reflect.Type,Gson 使用它来识别要用于序列化和反序列化您的 Object / JSON String 的 TypeAdapter。请参见我的回答以获取有关 Gson 如何使用此功能来推断泛型类型参数的更多信息;简而言之,它需要使用匿名类,否则将无法正常工作。