我正在尝试将一个函数从java 7迁移到java8,但是在循环列表的时候,我总是想要获取索引元素的值.这样做的好方法是什么?
这是我正在尝试迁移的代码:
List<Employe> listEmploye = new ArrayList<>();
for(int i=0; i< ids.size();i++)
{
  Long idLong = Long.valueOf(ids.get(i));
  BigDecimal idBig= BigDecimal.valueOf(idLong);
  listEmploye.add(findByIdPointage(idBig));
}
您可以使用Stream API来映射您的集合:
List<Employe> listEmploye  = ids.stream()
.map(Long::valueOf)
.map(BigDecimal::valueOf)
.map(this::findByIdPointage)
.collect(Collectors.toList());
 List<Employe> listEmploye = ids.stream()
          .mapToLong(Long::parseLong)
          .mapToObj(BigDecimal::valueOf)
          .map(this::findByIdPointage)
          .collect(Collectors.toList());
那么有一个BigDecimal构造函数需要 a String,因此可以简化为:
List<Employe> listEmploye = ids.stream()
           .map(BigDecimal::new) 
           .map(this::findByIdPointage)
           .collect(Collectors.toList())   
| 归档时间: | 
 | 
| 查看次数: | 100 次 | 
| 最近记录: |