【发布时间】:2019-01-07 21:40:56
【问题描述】:
我有一个学生列表,我想将其转换为Map<String, Integer>,其中映射键应该是学生的名字。为了使代码示例简单,我将映射值指定为1:
final Map<String, Integer> map = someStudents.stream().collect(
Collectors.toMap(Student::getFirstName, 1));
编译器抱怨:
不能从静态上下文引用非静态方法 getFirstName()
有什么想法吗?我很困惑,因为许多示例都使用相同的方法来传递对非静态方法的引用。为什么编译器会在这里看到静态上下文?
【问题讨论】:
-
可惜这个错误报错地方太多次了
-
这很有趣@Eugene。
-
Emdee,你能发布完整的代码吗?
标签: java java-stream