在方法引用中,非静态方法是用类名引用的,容易混淆。有人可以帮助我理解[重复]

问题描述 投票:0回答:0
Map<String, Long> noOfMaleAndFemaleEmployees=
                employeeList.stream().collect(Collectors.groupingBy(Employee::getGender, Collectors.counting()));

getGender 不是 Employee 类中的静态方法,但这里它是类名的引用,代码工作正常。

据我所知在方法引用中,静态方法应该用类名引用,非静态方法应该用变量名引用,如 emp::getGender

有人可以帮助我了解它在这里的表现吗?

当用类名引用非静态方法并且没有抛出错误时,请解释一下。

java method-reference
© www.soinside.com 2019 - 2024. All rights reserved.