如果我声明这样的类属性:
private static String month;
我不知道代码中的后期是否适合检查:
if(month == null){
month = "January";
}
我的主要问题是,null是非声明变量吗?
最好的办法是什么?
提前谢谢。
答案 0 :(得分:8)
null
是一个内置的特殊常量,表示空对象引用,而不是变量。声明表示类或实例级别的对象的变量时,其初始值设置为null
。声明局部变量时,必须明确设置其值 - null
或某个对象。
答案 1 :(得分:3)
是的,因为所有实例引用都被初始化为null。
但是要小心,它仅适用于实例引用。必须手动初始化本地的。
答案 2 :(得分:1)
最好的方法是始终初始化你的变量,因为如果你没有,那么java会将它设置为null。 Null表示不引用任何暗示未初始化或故意设置为null的对象
答案 3 :(得分:1)
null变量是不指向实例化对象的引用。所以你有一个字符串的引用,该字符串尚未指向字符串。
类成员变量初始化为对象引用的空值。在一个方法里面它们不是,所以你需要在使用它之前初始化它,以便在那些情况下进行编译。
答案 4 :(得分:0)
对于对象,null是默认值。在这种情况下,month是String类型,String是Java中的对象,因此month的默认值为null