-1

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

public static final EmployeeDetails NULL = new EmployeeDetails();

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

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

但现在我没有那个对象,所以我不能那样做。我尝试过这种方式,但出现错误说 isEmpty 未定义。

if(!empDetails.isEmpty())

有人能告诉我我想用这个做什么。

谢谢

4

2 回答 2

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

请记住定义您何时认为此对象为空,并在编写方法时牢记这一点。

于 2012-09-20T15:57:30.833 回答
1

添加一个方法 public boolean isEmpty() { // Implementation } ... 在此处添加您的逻辑以找出空对象,例如您之前的代码正在检查所有属性的默认值以找出空对象

于 2012-09-20T15:53:48.300 回答