-1

現在、作成された従業員詳細オブジェクトが空の場合に、従業員詳細に渡すこのNULLオブジェクトがあります

public static final EmployeeDetails NULL = new EmployeeDetails();

しかし、これを今すぐ削除して、通常のEmployeeDetailsオブジェクトを使用したいと思います。

これを行うことで、EmployeeDetailsobjが空かどうかを確認していましたif(!EmployeeDetails.NULL.equals(empDetails))

しかし、今はそのオブジェクトを持っていないので、そのようにすることはできません。この方法を試しましたが、isEmptyが定義されていないというエラーが発生しました。

if(!empDetails.isEmpty())

誰かが私がこれで何をすることになっているのか教えてもらえますか?

ありがとう

4

2 に答える 2

2

isEmpty()定義しなかったため、は定義されていません。この関数は、Objectから直接取得するいくつかのメソッドには含まれていません。いずれの場合も、内部構造を知っているのはユーザーだけなので、独自のオブジェクトの空の条件を定義する必要があります。

もちろん、それはすべてあなたが何を必要とするかに依存します。なぜなら、ある人はisEmpty()単純なnullチェックを行うことでメソッドを有効と見なすことができ、他の人はフィールドごとのチェックを行うことができるからです。

あなたの場合は、クラスで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

メソッドを追加しますpublicbooleanisEmpty(){//実装} ...ここに、空のオブジェクトを見つけるためのロジックを追加します。たとえば、前のコードは、すべてのプロパティのデフォルト値をチェックして空を見つけました。

于 2012-09-20T15:53:48.300 に答える