小编Chu*_*ZHB的帖子

Android Studio:“ xxx”的拆箱可能会产生“ java.lang.NullPointerException”

我正在关注Android图书示例:

//Get the drink from the intent
int drinkIdd = (Integer)getIntent().getExtras().get(EXTRA_DRINKID);
Drink drink = Drink.drinks[drinkIdd];
Run Code Online (Sandbox Code Playgroud)

该项目可以在Android Studio中运行,但在线上带有黄色警告:

int drinkIdd = (Integer)getIntent().getExtras().get(EXTRA_DRINKID);
Run Code Online (Sandbox Code Playgroud)

与:

info: Unboxing of '(Integer)getIntent().getExtras().get(EXTRA_DRINKID)' may produce 'java.lang.NullPointerException'
Run Code Online (Sandbox Code Playgroud)

根据我的理解,get(EXTRA_DRINKID)返回一个Object,然后(Integer)将其转换为int类型,以与满足int drinkIdd

  • 您能告诉我此信息的确切含义吗,对于初学者来说,您的回答将不胜感激。
  • 我可以这样写上限吗?使用()将getIntent()。getExtras()。get()打包为一个整体,因为它最终返回了一个对象,然后将其转换为int。

    int drinkIdd = (Integer)(getIntent().getExtras().get(EXTRA_DRINKID));
    
    Run Code Online (Sandbox Code Playgroud)

java unboxing android-studio

6
推荐指数
1
解决办法
5613
查看次数

标签 统计

android-studio ×1

java ×1

unboxing ×1