猿问

此 lambda 表达式的正确语法

我有一个列表 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());

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


哔哔one
浏览 105回答 1
1回答

慕桂英546537

如果您已用于{}lambda 创建,则也应该使用return,因此:&nbsp; List<B> listB = listA.stream().map(id -> {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ObjectB b = Mockito.mock(ObjectB.class);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;when(b.getId()).thenReturn(id.toString());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;when(b.getNumericId()).thenReturn(id);&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return b;&nbsp; })
随时随地看视频慕课网APP

相关分类

Java
我要回答