问题抛出
在编写自己定义的update函数中,在得到一个点的邻接点以后,我们要遍历这些邻接点,找到哪些没有访问过的点,然后对这些点进行访问。
但是在运行的时候出现NullPointException.
代码片段
for (BusSegment vertex : oneHas_next) {
if ((!has.containsKey(vertex) || has.get(vertex) == false) && bussegment_next.contains(vertex)) {
......
}
}
解决方案
经过思考,发现原来if (has.get(vertex) == false && bussegment_next. contains(vertex))has的map
中不存在的元素的时候,会发生NullPointException。所以在找某个key值的时候加上查找这个元素是否存在的判断。
if ((!has.containsKey(vertex) || has.get(vertex) == false) && bussegment_next. contains(vertex))
这样就可以正常运行了。