我制作了一个简单的 add
方法,它需要两个参数。
这是代码:
public List<myListType> add(List<myListType> myTypes, myListType myType) {
if (myTypes == null) {
myTypes = new ArrayList<myListType>();
}
int size = myTypes.size();
if (size > 1) {
Boolean lastStatus = myTypes.get(myTypes.size()-1).getAvailabilityStatus();
Boolean secondLastElement = myTypes.get(myTypes.size() - 2).getAvailabilityStatus();
if (lastStatus == null && secondLastElement == null) {
myTypes.remove(myTypes.size()-1);
}
else if (lastStatus.equals(secondLastElement)) {
myTypes.remove(myTypes.size()-1);
}
}
myTypes.add(myType);
return myTypes;
}
我认为在 if
条件中实际上可能存在空指针引用,尤其是在 lastStatus
上。您认为我可以做些什么来避免这种情况吗?
谢谢。
最佳答案
假设您使用的是 java 7+,您可以使用 Objects.equals
,它可以满足您的两个条件:
Boolean secondLastElement = myTypes.get(myTypes.size() - 2).getAvailabilityStatus();
if (Objects.equals(lastStatus, secondLastElement)) {
myTypes.remove(myTypes.size()-1);
}
关于java - 如何避免可能的空指针取消引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27169352/