-1

別のメソッドに渡す前に結合する必要がある 2 つのオブジェクトがあります。

Status status1 = null;
Status status2 = null;  
Status statusCombined = null;   

status1 =  validationService.validateDocument(documentA);
status2 =  validationService.validateDocument(documentB);

if (!status1.equals(status2) {
//merge status1 and status 2 to  statusCombined
  setValidationStatus(validationResults,statusCombined);        

これら 2 つのオブジェクトを同じプロパティで結合するコマンドは何ですか?

ありがとう。

4

2 に答える 2

2

これら 2 つのオブジェクトを同じプロパティで結合するコマンドは何ですか?

一般的な意味では、Java には、2 つのオブジェクトの「プロパティ」を 1 つに結合できる「コマンド」(またはメソッド) はありません。

  • 「組み合わせる」が何を意味するのかを言わずに、2 つのことを「組み合わせる」ことについて話すのは意味がありません。
  • 特定のケースでは意味があったとしても、一般的なケースでそれができるのは意味がありません。
  • 一般的には理にかなっているとしても、それを行うとオブジェクトのカプセル化に違反します。

それが理にかなっている特定のケースがある場合は、メソッドまたはコンストラクターをStatusクラスに追加して、2 つの既存のステータスから結合されたステータスを生成する必要があります...意味的に適切であると判断したアルゴリズムを使用します。

于 2012-11-17T03:46:43.980 に答える
1

あなたはあなたが何を意味するのかを理解するのをかなり難しくしました(ゼロの詳細を提供することによって)。

しかし...これが、2つのStatusオブジェクトを含むクラスを作成する方法です。

class CombinedStatus {

    private Status statusOne;
    private Status statusTwo;

    public CombinedStatus(Status s1, Status s2) {
        statusOne = s1;
        statusTwo = s2;
    }

    public Status getStatusOne() {
        return statusOne;
    }

    public Status getStatusTwo() {
        return statusTwo;
    }
}

それの使い方:

CombinedStatus cs = new CombinedStatus(status1, status2);

私たちがより良い答えを提供するために、あなたはあなたが何を求めているかについていくらかの詳細を提供しなければなりません。

例:2つのステータスを組み合わせるとは、一体どういう意味ですか?

それらを足し合わせますか?それらを掛けますか?いくつかの論理演算を実行しますか?

あなたが私たちに言わなければ、私たちは手がかりがありません。

于 2012-11-17T03:29:28.420 に答える