我正在关注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)