Thu*_*oid 4 android nullpointerexception retrofit
使用Retrofit 2.3.0我在Android Studio中收到以下消息
有关如何删除此IDE错误消息的任何建议.谢谢
Ben*_* P. 12
来自Response文档:
Run Code Online (Sandbox Code Playgroud)@Nullable public T body()成功响应的反序列化响应主体.
这意味着response.body()可以返回null,因此,调用response.body().getItems()可以抛出一个NullPointerException.要避免出现警告消息,请response.body() != null在调用方法之前检查该消息.
关于另一个问题的讨论表明,我上面的陈述并不像他们需要的那样清楚.如果原始代码是:
mAdapter.addItems(response.body().getItems());
Run Code Online (Sandbox Code Playgroud)
包装在这样的null检查中不会解决它:
if (response.body() != null) {
mAdapter.addItems(response.body().getItems());
}
Run Code Online (Sandbox Code Playgroud)
linter(生成警告的东西)无法知道每次response.body()调用将返回相同的值,因此第二个仍然会被标记.使用局部变量来解决这个问题:
MyClass body = response.body();
if (body != null) {
mAdapter.addItems(body.getItems());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |