Правильный синтаксис для этого лямбда-выражения - PullRequest
0 голосов
/ 17 октября 2018

У меня есть список A. И из этого списка я хочу создать новый список B, используя одно поле списка A для построения объектов в списке 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());

Однако я получаю синтаксическую ошибку на карте, которую я не могу понять.

1 Ответ

0 голосов
/ 17 октября 2018

Если вы использовали {} для создания лямбды, вы должны также использовать 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;
  })
...