Java初始化变量还是数组?
这行代码提供以下警告:
short[] sh = null; for (int i = 0, n = b.length; i < n; i++) { sh[i] = 0; }
警告:变量sh在此位置只能为null。
short[] sh; for (int i = 0, n = b.length; i < n; i++) { sh[i] = 0; }
并且,此代码提供以下警告:
警告:可能尚未初始化局部变量sh。
这是因为您需要初始化数组。 尝试这个:
short[] sh = new short[b.length];
如果你没有初始化,你将得到这些警告,如果你运行它将得到NullPointerException
。
你刚刚声明了一个变量。
您需要创建数组:
short[] arr = new short[size];
sh在代码中始终为null:
short[] sh = new short[b.length];
初始化意味着创建数组,在Java中使用“new”关键字
short[] arr = new short[10];
sh
是表示short
s数组的变量。
警告:变量sh在此位置只能为null。
sh
被初始化但不正确,它是null
:
short[] sh = new short[b.length];
警告:可能尚未初始化局部变量sh。
由于局部变量没有像实例变量那样自动初始化,因此必须对其进行初始化。