繁体   English   中英

此lambda表达式的正确语法

[英]Proper syntax for this lambda expression

我有一个列表A.从该列表中,我想通过使用列表A中的一个字段来构建列表B中的对象来创建新列表B.但是我无法正确获得语法。 目前我有

List<B> listB = listA.stream().map(id -> {
    ObjectB b = Mockito.mock(ObjectB.class);
    when(b.getId()).thenReturn(id.toString());
    when(b.getNumericId()).thenReturn(id); 
}).collect(Collectors.toList());

但是我在地图上遇到语法错误,我无法理解。

如果你使用{}进行lambda创建,你也应该使用return ,因此:

  List<B> listB = listA.stream().map(id -> {
         ObjectB b = Mockito.mock(ObjectB.class);
         when(b.getId()).thenReturn(id.toString());
         when(b.getNumericId()).thenReturn(id); 
         return b;
  })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM