我正在创建一个以自定义对象(比如员工)为键的 HashMap。
我对 Employee 类没有修改权限。
Employee 对象没有 args 构造函数说Map<String, Employee> empMap是我的地图对象。如何在适当位置实例化对象并设置值并将其放入地图中。
Map<String, Employee> mymap = new HashMap<>();
myMap.put("employee_key", () -> {
Employee e = new Employee();
e.setSalary(10000);
return e;
});
这显示错误: lambda 转换的目标类型必须是接口。
我不想做的事情:
myMap.put("employee_key", getEmployee(1000));
private Employee getEmployee(int salary){
Employee e = new Employee();
e.setSalary(salary);
return e;
}
简而言之,我期望在不使用额外方法的情况下将其作为值放入地图中进行适当的实例化和分配。