1 回答

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
map這可以通過(guò)使用而不是forEach創(chuàng)建FullNames,然后Collectors.toList創(chuàng)建列表來(lái)輕松完成。
firstName.stream().map(n -> new FullName(n, "SomeSurname")).collect(Collectors.toList());
它不僅是一個(gè)語(yǔ)句,如果存在并行流的可能性,最好這樣做,以避免并發(fā)問題。此外,不希望使用forEach通常用于副作用的 ,作為主要目的,這里將其收集到列表中。
另外,您不必?fù)?dān)心它只有一行??勺x性比吝嗇行數(shù)更重要。即使它是多行,它也已被做成一個(gè)聲明。通常,Java 流上的每個(gè)操作都分隔在自己的行上。
firstName.stream()
.map(n -> new FullName(n, "SomeSurname"))
.collect(Collectors.toList());
如果您愿意,您甚至可以將初始列表的創(chuàng)建合并到單個(gè)語(yǔ)句中。
List<FullName> fullName = Arrays.asList("John", "Peter", "Foo").stream()
.map(n -> new FullName(n, "SomeSurname"))
.collect(Collectors.toList());
添加回答
舉報(bào)