安卓将声明与java中int数组的定义分开
如何将int数组的声明与定义分开?。抱歉问了一些基本问题。我基本上是c/c++背景
int [] res;
switch (something)
{
case <something>:
res = somefunction ()
break;
{
if ( res == null ) ==>> problem is here. // 'res' might not have been initialized.
我如何处理这个问题,最好的方法是什么
# 1 楼答案
所以,初始化
# 2 楼答案
当数组变量(或就此而言,任何变量)是局部变量时,必须给它一个初始值,因为局部变量没有默认值
这样,即使您的case语句没有执行,它也会有一个值
# 3 楼答案
正如其他答案所提到的,你可以这样做
但我通常更喜欢确保
switch
处理所有情况:这样,如果您添加了一个新的条件,您必须有意识地决定对
res
应该做什么(因为如果您不做任何事情,编译器会提醒您)pre-init和“在所有路径中处理”方法都有使用案例