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。

由于局部变量没有像实例变量那样自动初始化,因此必须对其进行初始化。