3
우리는 자바 8 이하의 코드 리팩토링하려고
List<String> list = new ArrayList<>();
Iterator<Obj> i = x.iterator();
while (i.hasNext()) {
String y = m(i.next().getKey());
if (y != null) {
list.add(y);
}
}
return list;
지금까지 우리가 올라와있다 :
return x.stream().filter(s -> m(s.getKey()) != null).map(t -> m(t.getKey())).collect(Collectors.toList());
그러나 방법 m()
입니다 여기에서 두 번 호출됩니다. 주위에 방법이 있습니까?
x.stream().map(s -> m(s.getKey())).filter(Objects::nonNull).collect(Collectors.toList());
: