java - 对象 == null 与 boolean == false

标签 java performance object if-statement boolean

如果尚未分配对象,我需要分配该对象。

Object obj;
While(true){
    if(obj == null) obj = new Object();
    //do other things
}

Object obj;
boolean isObjAssigned;
While(true){
    if(!isObjAssigned) obj = new Object();
    //do other things
}

这两种检查方法哪一种更好?

最佳答案

编译器不允许您以第一种方式编写,并且它会提示“变量可能尚未初始化”。它会迫使你将其设置为空。在这种情况下,再次检查相同的 null 是多余的。不过第一个更好!因为我们应该使用尽可能少的变量。

Object obj=null;
while(true){
    if(obj == null) obj = new Object();
    //do other things
}

关于java - 对象 == null 与 boolean == false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33123238/

相关文章:

java - 错误的数据类型 - 泛型

java - 使用 AsyncRestTemplate 多次制作 API 并等待所有完成

java - 如何在ArrayList View 上调用notifyDataSetChanged()?

performance - 编译器完成的配置文件引导的优化是否会严重损害性能分析数据集未涵盖的情况?

c# - 如何提高从文件流中逐行读取字节的性能

javascript - childObj.prototype = Object.create(parentObj.prototype) 和 childObj.prototype = ParentObj.prototype 有什么区别?

java - 传递一个类并调用它的方法

c - 使用PACKET_MMAP和PACKET_TX_RING发送数据比 “normal”慢(无)

javascript - 具有作为 prop 传递到组件的数据属性的对象不是 Vue 的 kebap 大小写

javascript - 依赖对象类型检查 Javascript 似乎是多余的