And*_*oid 14 java android json gson typetoken
我的项目中有以下方法
public void execute(final int apiId, final ResponseHandler handler, final Type type)
Run Code Online (Sandbox Code Playgroud)
并使用TypeToken确定类型,如下所示
final Type serviceErrorType = new TypeToken<>() {
}.getType();
Run Code Online (Sandbox Code Playgroud)
我在这里浏览了这个链接,但完全无法理解Type
和TypeToken
任何人都可以分享链接或帮助理解这两个概念吗?
azi*_*ian 22
从您提供的链接:
强制客户端创建此类的子类,即使在运行时也可以检索类型信息.
让我们举个例子.
假设您要使用Gson库将JSON解析为Java类.现在,你必须特别告诉Gson:
我想这个JSON被翻译成一个列表的用户对象
你怎么能告诉Gson?如果它只是User
,你可以告诉User.class
.但是不可能这么说List<User>.class
new Gson().fromJson(json, new TypeToken<List<User>>(){}.getType())
Run Code Online (Sandbox Code Playgroud)
但是现在你可以精确地指定Gson应该将它转换成a List of Users
.
应引用文档中的解释:
表示泛型类型
T
.Java还没有提供表示泛型类型的方法,所以这个类就是这样.
有关该主题的更多详细信息,请查看此博客文章.
归档时间: |
|
查看次数: |
11699 次 |
最近记录: |