我的项目中有以下方法
public void execute(final int apiId, final ResponseHandler handler, final Type type)
并使用TypeToken如下确定类型
final Type serviceErrorType = new TypeToken<>() {
}.getType();
我在这里经历了这个link,但无法完全了解
Type
和TypeToken
任何人都可以分享链接或帮助理解这两个概念吗?
最佳答案
从您提供的link中:
让我们举个例子。
假设您想使用Gson库将JSON解析为Java类。
现在,您必须专门告诉Gson:
您如何告诉格森?如果只是User
,则可以告诉User.class
。但是不可能说List<User>.class
new Gson().fromJson(json, new TypeToken<List<User>>(){}.getType())
但是现在您可以精确地指定Gson应该将其转换为
List of Users
。应该引用文档中的说明:
请查看this blog post,以获取有关该主题的更多详细信息。