2016-11-10 73 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 + "]"; 
    }