【问题标题】:How to get several values from the same it.next()如何从同一个 it.next() 中获取多个值
【发布时间】:2014-04-17 11:19:27
【问题描述】:
List<Drank> dranken = admin.getBestelling().getDranken();
Iterator<Drank> it = dranken.iterator();
while (it.hasNext()) {
     String name = it.next().getName();
     String description = it.next().getDescription();   
     model.addRow(new Object[]{name,description});
}   

这是我们的代码。我们想要遍历数组。 问题是如果你使用it.next(),它总是转到下一个值,因为我们有getName()getDescription(),它总是跳过名称或描述,使值不匹配,

有什么建议吗?

【问题讨论】:

  • it#next() 转到 pic 下一个值。你需要 Drank darnk= it.next();然后访问你的对象drank.getName();喝了.getgetDescription()
  • @bhutto 这是一个答案,不管它有多短,都不是评论;)
  • 谁反对这个?想发表评论吗?
  • @Joffrey 是的,我知道这是答案。那么 cmets 的简短回答有什么问题
  • @bhutto 看看“我什么时候不应该发表评论?”那里的部分:stackoverflow.com/help/privileges/comment

标签: java arrays iterator


【解决方案1】:

使用变量来存储下一个元素。

 Drank next = it.next();
 String name = next.getName();
 String description = next.getDescription(); 

【讨论】:

    【解决方案2】:

    改成这个

    while (it.hasNext()) {
         Drank item = it.next();
         String name = item.getName();
         String description = item.getDescription();   
         model.addRow(new Object[]{name,description});
    } 
    

    【讨论】:

      【解决方案3】:

      只使用一次it.next(),并在Drank 变量中获取结果,正如@user1906108 向您展示的那样。

      或者,您可以使用增强的for 循环,完全摆脱迭代器的代码:

      ArrayList<Drank> dranken = admin.getBestelling().getDranken();
      
      for (Drank d : dranken) {
           String name = d.getName();
           String description = d.getDescription();   
           model.addRow(new Object[]{name,description});
      }
      

      甚至更短,因为您在这里并不需要额外的变量:

      ArrayList<Drank> dranken = admin.getBestelling().getDranken();
      
      for (Drank d : dranken) {
           model.addRow(new Object[]{ d.getName(), d.getDescription()});
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多