Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Gson中,{}.getType()语法意味着什么?_Java_Json_Gson - Fatal编程技术网

Java 在Gson中,{}.getType()语法意味着什么?

Java 在Gson中,{}.getType()语法意味着什么?,java,json,gson,Java,Json,Gson,在Gson文档中,我运行了这个构造,用于将JSONified Spotify Artister对象列表转换回对象的ArrayList。我在onRestoreInstanceState()中使用它 然而,我从来没有见过声明后的{}。有人能给我解释一下这是什么意思吗?我知道getType()是一个成员类,但为什么{} Type type = new TypeToken<List<Artist>>() {}.getType(); mArtistsList = new Gso

在Gson文档中,我运行了这个构造,用于将JSONified Spotify Artister对象列表转换回对象的ArrayList。我在onRestoreInstanceState()中使用它

然而,我从来没有见过声明后的{}。有人能给我解释一下这是什么意思吗?我知道getType()是一个成员类,但为什么{}

 Type type = new TypeToken<List<Artist>>() {}.getType();
 mArtistsList = new Gson().fromJson(jsonSearchResults, type);
Type Type=new-TypeToken(){}.getType();
mArtistsList=new Gson().fromJson(jsonSearchResults,type);
{}
表示不重写任何方法的。这是您以前见过的另一个匿名类:

Runnable r = new Runnable() {
   @Override
   public void run() {
   }
};
.getType()
返回一个字符串,Gson使用该字符串来标识将用于序列化和反序列化
对象的
类型适配器


请参见Gson如何使用此参数推断泛型类型参数;简短的版本是,它需要使用匿名类,否则将无法工作。

请检查嘿,谢谢!在我看来,另一个问题与我刚才提出的问题没有直接关系,也没有那么简洁。所以,谢谢。@Kazinsky也是,是的,你的问题的答案隐藏在另一个较长的答案中,但它们的差异几乎不足以让我决定回答这个问题。