由于被调用方法的 return 值,[...] 中可能存在空指针取消引用
Possible null pointer dereference in [...] due to return value of called method
关于 SonarQube 标记问题的小问题,我不明白。
我的代码片段非常简单。
VaultTokenResponse result = getWebClient().mutate().baseUrl(vaultUrl).build().post().retrieve().bodyToMono(VaultTokenResponse.class).block();
String vaultToken = result.getToken().getToken();
但是,在这里的第二行,Sonarqube 告诉我:
findbugs:NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE Style - Possible null pointer dereference due to return value of called method
The return value from a method is dereferenced without a null check, and the return value of that method is one that should generally be checked for null. This may lead to a NullPointerException when the code is executed
我有点不确定这是什么意思。
最重要的是,我不知道如何解决这个问题。
请帮忙一点?
谢谢
result.getToken()
可能 return 为空。因此,当您调用 result.getToken().getToken()
时,您是在空引用上调用 getToken()
。因此将抛出 NullPointerException。
所以你可以做类似的事情
YourClass token = result.getToken();
if(token != null) {
String vaultToken = token.getToken(); // whatever you want to do with it
}
else {
// error handling
}
关于 SonarQube 标记问题的小问题,我不明白。
我的代码片段非常简单。
VaultTokenResponse result = getWebClient().mutate().baseUrl(vaultUrl).build().post().retrieve().bodyToMono(VaultTokenResponse.class).block();
String vaultToken = result.getToken().getToken();
但是,在这里的第二行,Sonarqube 告诉我:
findbugs:NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE Style - Possible null pointer dereference due to return value of called method
The return value from a method is dereferenced without a null check, and the return value of that method is one that should generally be checked for null. This may lead to a NullPointerException when the code is executed
我有点不确定这是什么意思。
最重要的是,我不知道如何解决这个问题。
请帮忙一点?
谢谢
result.getToken()
可能 return 为空。因此,当您调用 result.getToken().getToken()
时,您是在空引用上调用 getToken()
。因此将抛出 NullPointerException。
所以你可以做类似的事情
YourClass token = result.getToken();
if(token != null) {
String vaultToken = token.getToken(); // whatever you want to do with it
}
else {
// error handling
}