0

問題文:-

  1. まず、columns持っているすべてのcolumnsListが存在するかどうかを確認する必要がありattributes (attr.getName())ます。
  2. 第 2 に、columnfromcolumnsListが存在しないattributes場合はboolean foundData、false にする必要があります。
  3. 第 3 に、成功していない属性ステータスがある場合は、boolean foundDatafalse にする必要があります。
  4. 第 4 に、columnが属性(attr.getName())に存在し、そのステータスも成功の場合、カウンターを 1 つ増やします。

attr.getName()列名を返します。

以下は私が持っているコードです。確かに、以下のコードで何かを台無しにしました。

List<String> columnsList = getColumns(service.getColumns());

List<Attribute<?>> attributes = beClient.getAttributes(columnsList);

for (String column : columnsList) {
    for(Attribute<?> attr : attributes) {
        if(!attr.getName().equals(column) || !attr.getStatus().equals("SUCCESS")) {
            foundData=false;
            break;
        }  else if(attr.getName().equals(column) && attr.getStatus().equals("SUCCESS")) {
                count_success.incrementAndGet();
        }
    }
}

誰でもこれで私を助けることができますか?

私のコードで何が問題なのかは、列ごとに属性が一致しない場合にチェックされ、毎回ifループになることです。私はどちらが正しくないと信じています。

4

3 に答える 3

0

属性名にequalsとハッシュコードを実装します。columnListを繰り返し、Attributeオブジェクトを作成します。次に、その属性が属性リストに存在するかどうかを確認します。そうすれば、コードは単純になります。

于 2013-03-20T05:14:39.900 に答える