变量java的初始化

时间:2016-08-12 21:48:07

标签: java eclipse variables

假设我有一些类型var的变量。有时当我没有初始化变量时,我被要求初始化(通过eclipse)说为null。有时我在开始时初始化它说

DataType var= null; "Remove this useless assignment to local variable "var""

我的问题是为什么在不同情况下初始化的这种差异?是数据类型依赖吗?

1 个答案:

答案 0 :(得分:0)

首先,通常初始化为null并不是一个好习惯,因为编译器会在没有正确初始化的情况下警告您正在读取的变量。并将其设置为null是一个非常可疑的正确初始化;如果被取消引用,它很可能会生成NullPointerException

我建议您在初始化局部变量时始终遵循这些规则:

  • 一旦可用,就设置一个初始值(并且只设置一次)。如有必要,请将声明延迟到有效值可用的位置。
  • 除非您编写后续代码以了解该情况,否则请勿初始化为null

最后,如果Eclipse警告你“无用的初始化”肯定是因为你设置的变量的初始值(即使它是null)在设置下一个值之前永远不会被读取。