Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I比较java对象时出现空问题_Java_Object_Is Empty - Fatal编程技术网

I比较java对象时出现空问题

I比较java对象时出现空问题,java,object,is-empty,Java,Object,Is Empty,当前,如果创建的员工详细信息对象为空,则要传递员工详细信息的此空对象 public static final EmployeeDetails NULL = new EmployeeDetails(); 但是我现在想删除它并使用我的常规EmployeeDetails对象 我正在检查EmployeeDetails obj是否为空,如果!EmployeeDetails.NULL.equalsTempDetails 但是现在我没有那个物体,所以我不能那样做。我尝试了这种方法,但出现了一个错误,即未定义

当前,如果创建的员工详细信息对象为空,则要传递员工详细信息的此空对象

public static final EmployeeDetails NULL = new EmployeeDetails();
但是我现在想删除它并使用我的常规EmployeeDetails对象

我正在检查EmployeeDetails obj是否为空,如果!EmployeeDetails.NULL.equalsTempDetails

但是现在我没有那个物体,所以我不能那样做。我尝试了这种方法,但出现了一个错误,即未定义isEmpty

if(!empDetails.isEmpty())
有人能告诉我我该怎么处理这个吗


谢谢

添加一个方法public boolean isEmpty{//Implementation}。。。在这里添加查找空对象的逻辑,例如,您以前的代码检查所有属性的默认值以查找空对象

isEmpty未定义,因为您未定义它。这个函数不包括在直接从Object获取的少数方法中,而且在任何情况下,您都应该为自己的对象定义一个空条件,因为只有您知道内部结构

当然,这完全取决于您需要什么,因为一个人可以通过执行简单的空检查将isEmpty方法视为有效,而另一个人可以逐个字段进行检查

在您的例子中,只需在类中定义一个isEmpty方法。例如:

public boolean isEmpty() {
    //your condition here, for example, I take an EmployeeDetails object
    //as empty if it has no employee associated (assuming you can associate
    //an employee to it).
    return employee == null;
}

记得定义什么时候你认为这个对象是空的,并用这个方法来编码这个方法。

听起来你还没有创建一个ISHOLL方法。Java不会为您创建它…我以为iEmpty是内置的。。我必须在isEmpty方法中检查什么,以查看对象是否为空。它不是内置的。对于您定义的对象,为空意味着什么?编译器怎么知道?你读过关于Java和OOP的教程吗?