java - java默认局部对象变量初始化
问题描述
在 Java OCA 书 Oracle Certified Associate Java SE 8 Programmer 中有这个 QCM:(第 1 章问题编号 12)
Object 类型的局部变量默认为 null ,它们的响应为 false。
但我认为这是一个错误,因为当我们声明这个例如:Object obj; 作为方法中的局部变量,代码编译得很好,所以对象是空的,你们怎么看?
解决方案
当您Object obj;
在方法内声明时,obj
未初始化。这仍然是完全合法的,但是如果obj
不初始化就无法访问。如果你走得更远一点,然后写:
Object local;
if (local == null) {
// something
}
编译器会阻止你。
推荐阅读
- javascript - 错误:未捕获(承诺中):ReferenceError:未定义缓冲区
- reactjs - 在功能组件中正确使用 mapActionsToProps (react-redux)
- java - DynamoDB 仅部分更新
- r - 在不破坏管道工作流(或加入临时小标题)的情况下获得组平均值的中位数
- python - 八皇后问题,替代解决方案
- javascript - 使用 React 在类似模态的文本消息中从下到上滚动
- python - 在numpy中获取自定义类的组合
- ssl - RSA和pkcs8的区别
- python-3.x - 同时跨行和列计算
- c++ - 如何修复返回字符串的函数中未忽略的空值?