我正在嘗試使用流按國籍對我的物件進行分組并將它們列印出來。
但它說:“無法決議方法'println”
class Person {
private String name;
private int age;
private String nationality;
public static void groupByNationality(List<Person> people) {
people
.stream()
.collect(Collectors.groupingBy(Person::getNationality))
.forEach(System.out::println);
}
uj5u.com熱心網友回復:
.collect(Collectors.groupingBy(Person::getNationality))是一個回傳 a 的終端操作Map<String,List<Person>>。
Map'sforEach需要一個BiConsumer<? super K, ? super V> action引數,它需要一個帶有兩個引數的方法。這不符合System.out::println(所有println方法都有一個引數)的簽名。
你可以改變
.forEach(System.out::println);
到
.forEach((key,value)->System.out.println (key ":" value));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/393617.html
