@Override
public boolean contains(Object object) {
if (object != null) {
for (E element : a) {
if (object.equals(element)) {
return true;
}
}
} else {
for (E element : a) {
if (element == null) {
return true;
}
}
}
return false;
}
我正在学习java,并且正在研究源代码以了解如何编写某些方法。我想问一下为什么有必要写Java ArrayList包含方法
else {
for (E element : a) {
if (element == null) {
return true;
}
}
}
谢谢
因为那是在这种情况下如何处理null。并且在'null'上调用'.equals'不会结束。 – luk2302
如果测试List是否包含空对象,那么else部分就在这里。在这种情况下,该方法将迭代List,如果发现null元素则返回true。 – Kaiserbogey
我们不能使用'null.equals(element)',因为'null'没有包含'equals'的任何方法。这样的执行会抛出我们不想要的'NullPointerException'。为了比较空值,我们使用'=='。 – Pshemo