比较java对象时isEmpty问题

时间:2012-09-20 15:47:31

标签: java object is-empty

Currenty如果创建的员工详细信息对象为空,我将为此员工详细信息传递此NULL对象

public static final EmployeeDetails NULL = new EmployeeDetails();

但我想现在删除它并使用我的常规EmployeeDetails对象。

我正在检查EmployeeDetails obj是否为空if(!EmployeeDetails.NULL.equals(empDetails))

但是现在我没有那个对象所以我不能这样做。我试过这种方式,但得到的错误是isEmpty没有定义。

if(!empDetails.isEmpty())

有人可以告诉我我想要做些什么。

由于

2 个答案:

答案 0 :(得分:2)

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;
}

请记住定义WHEN你认为这个对象是空的,并记住这个方法。

答案 1 :(得分:1)

添加方法public boolean isEmpty(){// Implementation} ...这里添加你的逻辑来找出空对象,例如你以前的代码检查所有属性的默认值以找出空