0

idKeys1 を解析し、idKeys1 から属性 ID (Pds AttributeId) と属性値 (value) を取得したいと考えています。PDSAttribute のリストであるため、解析する最善の方法がわかりません。

List<PdsAttribute> idKeys1 = m_pdssmartclient.release(PersistenceEnum.COMMIT, false);
Iterator<PdsAttribute> i = idKeys1.iterator();
  while (i.hasNext()) {
                    String parse = String.valueOf(i.next());
                    System.out.println(i.next());
                      }

idKeys1 のサンプル出力は次のとおりです。

[Pds Attribute: 
Pds AttributeId = 20000
value = 0
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 20002
value = -1
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 20004
value = -9223372036854775808
Attribute Status = 
Status Code = 0
Status = SUCCESS
Status message = null

, Pds Attribute: 
Pds AttributeId = 248
value = 1906e3551370af60d5b48854fffffffe
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 330
value = null
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 202
value = 1906e1611370af60d5b48854ffffffff
Attribute Status = 
Status Code = 0
Status = SUCCESS
Status message = null

, Pds Attribute: 
Pds AttributeId = 331
value = null
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 347
value = 1906e5a11370af60d5b48854fffffffd
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 332
value = 4fa813bc.0.1.8.9.5.0.1
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 12
value = 1002491107
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

, Pds Attribute: 
Pds AttributeId = 333
value = 4fa813bc.0.1.7.8.0.0.1
Attribute Status = 
Status Code = 0
Status = NOT_PROCESSED
Status message = null

]
4

2 に答える 2

0

PdsAttributeIdvalueがクラスのフィールドであり、そのフィールドにセッター メソッドが定義されている場合PdsAttribute、繰り返しで次の変更を行います

while ( i.hasNext() ) {  
    PdsAttribute pdsAttribute = ( PdsAttribute ) i.next();  
    String pdsAttributeId = String.valueOf( pdsAttribute.getPdsAttributeId() );  
    String pdsAttributeValue = String.valueOf( pdsAttribute.getValue() );  

    // now use these values as required  
} // while
于 2012-05-07T18:48:56.473 に答える
0

では、何が問題なのですか

        while (i.hasNext()) {
            PdsAttribute attr = (PdsAttribute) (i.next());
            String attrId = String.valueOf(attr.getAttributeId);
            String attrValue = String.valueOf(attr.getValue());
        }

もちろん、これは、PdsAttributeId および PdsAttribute クラスの値に適切なアクセサーがあることを前提としています。そうでない場合は、そのメンバーをカプセル化するためにいくつかを追加することを検討する必要があります。

于 2012-05-07T18:46:02.520 に答える