1. ホーム
  2. java

[解決済み] メソッド起動時にNullPointerExceptionが発生することがある 改良版本体

2022-03-12 12:15:09

質問

Retrofit 2 を使って API からレスポンスを取得し、その値を以下のように定数に保存しています。

if(response.isSuccessful()) {
                    constant.banner_on = response.body().getBanner_on();
                    constant.int_on = response.body().getInt_on();
                    constant.int_click = response.body().getInt_click();
                }

以下のように、3つとも警告が表示されます。

<ブロッククオート

メソッド呼び出し getBanner_on は java.lang.nullPointerException を生成する可能性があります。

この警告を解決することができず、混乱しています。この警告を解決するために、誰か助けてくれる人がいたら教えてください。

解決方法を教えてください。

レスポンスに成功すればNULLになることはないので、単なる警告に過ぎません。これを無視するか、あるいは if(response.body() != null) をクリックすると警告が消えます。

Ads ads = response.body();
if(ads != null){
    constant.banner_on = ads.getBanner_on();
    // and so on.
}