java - 如何正确使用 Gson.getAdapter(Class ) 和 TypeAdapter.write 与泛型?
问题描述
我有以下代码,它只有两个警告。
Gson gson = ...
JsonWriter = ...
Serializable value = ...
TypeAdapter adapter = gson.getAdapter(value.getClass());
adapter.write(out, value);
IntelliJ 建议我最后两行:
Raw use of parameterized class 'TypeAdapter'
和
Unchecked call to 'write(JsonWriter, T)' as a member of raw type 'com.google.gson.TypeAdapter'
我想摆脱这些警告,但我不知道该怎么做。我尝试了以下方法:
TypeAdapter<Serializable> adapter = gson.getAdapter(value.getClass());
adapter.write(out, value);
这会导致错误 ( Incompatible equality constraint: Serializable and capture of ? extends Serializable
)。
所以我试过这个,但这也是错误的。
TypeAdapter<? extends Serializable> adapter = gson.getAdapter(value.getClass());
adapter.write(out, value);
现在的错误是:Required type: capture of ? extends Serializable Provided: Serializable
。
我能做些什么呢?我只是希望省略泛型不是让代码运行的唯一解决方案?
解决方案
推荐阅读
- python-3.x - 如何使用 selenium webdriver - python 登录 Google 帐户
- jointjs - 通过 JointJS 中用户定义的 ID 访问对象
- ios - 在我的 swift SpriteKit 游戏中,物理体的轮廓通过所有其他节点显示
- buildozer - 什么叫 [Errno 13] 对 biuldozer 的权限被拒绝?
- java - 为什么过滤器方法不过滤掉长值?
- oauth - API 到 API:使用 Oauth 授权流程 + pkce 或 API 密钥进行身份验证和授权
- python - 显示列中特定值的唯一计数,使用熊猫按附加列分组
- javascript - 如何使用鼠标悬停(或悬停)以便在浏览不同文本时显示不同的图像?JAVASCRIPT
- powerbi - PowerBI 无法在存在的源中找到列
- maven - 未找到依赖项 'org.apache.beam:beam-sdks-java-core:2.28.0'