我有一个小但很烦人的错误。

实际上,我正在编程一棵家谱,在某些情况下,我正在寻找一个人,但有时该人不在树中(很有意义)。所以我的方法返回null。

问题是当我尝试做这样的事情时。

familytree.getNode("Peter").getName();


彼得不在树上,但是他尝试获取名称,我的代码给了我NullPointerException(再次有意义)。

尽管我不知道如何处理此类问题,但我有很多类似的方法,例如getName()...
例如getGender(),getWife()等。

我有两个类的familytree(具有搜索,删除等方法)和node(具有有关该人的所有信息)。

也许你们有个主意!

编辑:

例如,这是我的主要方法。

familytree.getNode(“ Fred”)。getGender(); //布尔值

familytree.getNode(“ Max”)。getGender();

familytree.getNode(“ Peter”)。getGender();

familytree.getNode(“ Fe”)。getPartner(); //合作伙伴名称

familytree.getNode(“ Freddyy”)。getName(); //串

如何检查每种情况是否为空指针?

最佳答案

如果您使用的是Java 8,而不是检查null,请尝试使用
可选的

也许该主题可以为您提供帮助:Uses for Optional

最初,使用Optional可能看起来像更多的代码,但最终,它更干净,更有效。

07-26 05:19