无法调用“java.util.Map.getOrDefault(Object, Object)”,因为 null

问题描述 投票:0回答:1

我无法从字典中访问值。我正在用

double storedDistances = dictionary.getOrDefault(lnglat, Double.POSITIVE_INFINITY)

如果在字典中找不到匹配项,则返回正无穷大。我认为错误来自于返回

null
的字典值,我怎样才能编写一个 catch 来阻止空值被结转?具体错误是

Cannot invoke "java.util.Map.getOrDefault(Object, Object)" because "Planner.dictionary" is null.

如有帮助,我们将不胜感激。

我期望返回一个双精度值以便稍后与另一个双精度值进行比较。但对于未分配的字典条目,将返回 null,无法将其分配给 double 值。

java dictionary null double
1个回答
0
投票
Cannot invoke "java.util.Map.getOrDefault(Object, Object)" because "Planner.dictionary" is null.

Java 抱怨 dictionary

null
,而不是返回
null
。每当在
NullPointerException
上调用方法时,Java 虚拟机都会抛出
null
。这就是本例中发生的情况。

© www.soinside.com 2019 - 2024. All rights reserved.