我有一个小但很烦人的错误。
实际上,我正在编程一棵家谱,在某些情况下,我正在寻找一个人,但有时该人不在树中(很有意义)。所以我的方法返回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可能看起来像更多的代码,但最终,它更干净,更有效。