我无法从字典中访问值。我正在用
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 值。
Cannot invoke "java.util.Map.getOrDefault(Object, Object)" because "Planner.dictionary" is null.
Java 抱怨 dictionary 是
null
,而不是返回 null
。每当在 NullPointerException
上调用方法时,Java 虚拟机都会抛出 null
。这就是本例中发生的情况。