Difference between local variable initialize null and not initialize?

前端 未结 6 1406
太阳男子
太阳男子 2020-12-10 15:09

In Java, what is the difference and best way to do?

Integer x = null; // x later assign some value.
Integer y; // y later initialize and use it.
6条回答
  •  春和景丽
    2020-12-10 15:29

    The answer depends on what type of variable are you referring.

    For class variables, there's no difference, see the JLS - 4.12.5. Initial Values of Variables:

    ... Every variable in a program must have a value before its value is used:

    For all reference types (§4.3), the default value is null.

    Meaning, there is no difference, the later is implicitly set to null.

    If the variables are local, they must be assigned before you pass them to a method:

    myMethod(x); //will compile :)
    myMethod(y)  //won't compile :(
    

提交回复
热议问题