java - 局部变量初始化 null 和不初始化之间的区别?

标签 java

在 Java 中,有什么区别和最好的方法?

Integer x = null; // x later assign some value.
Integer y; // y later initialize and use it.

最佳答案

答案取决于您指的是什么类型的变量。

对于类变量,没有区别,参见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.

意思是,没有区别,后者隐式设置为null

如果变量是本地,则必须在将它们传递给方法之前对其进行赋值:

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

关于java - 局部变量初始化 null 和不初始化之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26160236/

相关文章:

java - Jetty 未在预集成测试阶段启动 (Maven)

java - 将 lzo 文件作为数据集导入 java Spark

java - 在java正则表达式中获取匹配的模式值

java - 使用 hibernate 对有序数据进行分页

java - 一个单元格中包含多个元素的 JTable

java - 同步块(synchronized block)中的意外代码

java - 如何在 Java 6 中创建临时文件夹?

java - Spring Data MongoDB 看不到父类中私有(private)字段的访问器

java - Google Drive Api result.getStatus().isSuccess() 始终为真

java - 从 servlet 连接到数据库