如何解析 toMap 中的空值
How resolve null value in toMap
我有一个问题,实际上当我 select 一周内的两个时间段并通过一个按钮生成它们时一切正常,但是当我去删除一周中的一天然后再次点击单击“生成插槽”按钮,我选择了我的一周(我有两天但现在只有一天)我在第 100 行的代码中收到错误消息:
在共享的“100”行上,您基本上告诉 JDK 编译器:为列表中的每个对象创建一个映射条目:
- 从对象中输入 getDay 的值
- 给对象本身赋值
JDK 将其转换为:
- 关键=
object.getDay()
- 价值=
object
在您的列表中有 null
项,例如:[{obj1}, {obj2}, null, ...]
。
这导致 TimeSlot::getDay
在某些情况下变为 null.getDay()
。如果您需要将 null
作为键,您可以将其从 TimeSlot::getDay
转换为 o -> o != null ? o.getDay() : null
.
如果你不需要null
作为键值,你可以在收集之前过滤它们,例如添加:.filter(Objects::nonNull)
.
查看 what-is-a-nullpointerexception-and-how-do-i-fix-it 了解更多信息。
我有一个问题,实际上当我 select 一周内的两个时间段并通过一个按钮生成它们时一切正常,但是当我去删除一周中的一天然后再次点击单击“生成插槽”按钮,我选择了我的一周(我有两天但现在只有一天)我在第 100 行的代码中收到错误消息:
在共享的“100”行上,您基本上告诉 JDK 编译器:为列表中的每个对象创建一个映射条目:
- 从对象中输入 getDay 的值
- 给对象本身赋值
JDK 将其转换为:
- 关键=
object.getDay()
- 价值=
object
在您的列表中有 null
项,例如:[{obj1}, {obj2}, null, ...]
。
这导致 TimeSlot::getDay
在某些情况下变为 null.getDay()
。如果您需要将 null
作为键,您可以将其从 TimeSlot::getDay
转换为 o -> o != null ? o.getDay() : null
.
如果你不需要null
作为键值,你可以在收集之前过滤它们,例如添加:.filter(Objects::nonNull)
.
查看 what-is-a-nullpointerexception-and-how-do-i-fix-it 了解更多信息。