2016-11-10 65 views
0

從方法列表對象>方法()我得到這樣的輸出與3個元素轉換Java列表使用收集-stream

[123456, 10, 03-JAN-16] 
[956233, 20, 03-JAN-16] 
[254656, 30, 03-JAN-16] 
[455556, 40, 04-JAN-16] 
[548566, 50, 03-JAN-16] 
[215663, 60, 03-JAN-16] 

我需要存儲上述結果在POJO類名稱「className 「它具有以下的列COL1,COL2和COL3,所以我嘗試運行下面的代碼爲

public void method() { 
    try { 
     List<List<String>> list = testDAO.methodName(); 
     List<ClassName> className= new ArrayList<ClassName>(); 
     for (Iterator<List<String>> iterator = list.iterator(); iterator.hasNext();) { 
      List<String> list2 = (List<String>) iterator.next(); 
      int i = 0; 
      ClassName className= new ClassName(); 
      for (Iterator<String> iterator2 = list2.iterator(); iterator2.hasNext();) { 
       String string = (String) iterator2.next(); 
       /* System.out.println(string); */ 
       if (i == 0) 
        className.setCol1(string); 
       else if (i == 1) 
        className.setCol2(Long.parseLong(string)); 
       else if (i == 2) 
        className.setCol3(string); 
       i++; 

      } 
      odhs.add(className); 

      System.out.println(className); 
      // System.out.println(className.col2()); 
      // System.out.println(className.col3()); 
     } 
     // System.out.println("Total size: "+ odhs.size()); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

,但我得到的輸出作爲

[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 
[email protected] 

請提供解決方案以保存POJO類中的數據'ClassName'

+0

覆蓋Odh類中的'toString' –

+0

@Indrachith輸出應該只包含6個條目.. rt? – Jobin

+0

不@Jobin它有超過6個條目,我剛剛提供了示例輸出 –

回答

0

您的類Odh必須覆蓋toString方法。

0

重寫Odh的toString方法。

假設你的參數的名稱是dist_idpvpost_date一切皆String類型

@Override 
public String toString(){ 
    return getClass().getSimpleName() + "[dist_id=" + dist_id + ", pv=" + pv + ", post_date=" + post_date + "]"; 
} 

這將允許您打印

ODH [dist_id = 123456,PV = 10 ,post_date = 03-JAN-16]

+0

謝謝@Kamal,但我需要顯示爲一個對象,而不是一個列表形式.... –

+0

@IndrachithR你能否檢查一下,我已經更新了我的答案。如果這不是你正在尋找的,那麼我建議你檢查這個鏈接http://stackoverflow.com/a/29140403/3838328 所有你需要做的就是重寫toString方法並按照你的需要。 – Kamal

0

在您的Odh分類你必須重寫toString方法。

@Override 
    public String toString () 
    { 
     return "Odh [firstAttribute=" + firstAttribute + ", secondAttribute=" + secondAttribute + "]"; 
    }