请教linkedlist源代码,有点没明白什么意思。public int indexOf(Object o) {int index 0if (onull) {f
请教linkedlist源代码,有点没明白什么意思。
public int indexOf(Object o) {
int index = 0;
if (o==null) {
for (Entry e = header.next; e != header; e = e.next) {
if (e.element==null)
return index;
index++;
}
} else {
for (Entry e = header.next; e != header; e = e.next) {
if (o.equals(e.element))
return index;
index++;
}
}
return -1;
}
if (o==null) {
for (Entry e = header.next; e != header; e = e.next) {
if (e.element==null)
return index;
index++;
}
}
这一部分什么意思?o==null?
[解决办法]
o==null的时候分开来讨论因为o是null的话没有办法调用方法(会报错),所以也不能用下面的
o.equals(e.element)
[解决办法]
http://blog.csdn.net/cdguogang/article/details/7294294
之所以 使用o==null,可能是因为null也可以放入集合中,然后可以返回这个null在集合中的索引下标
[解决办法]
是没什么意思,linkedlist就是由node环组成的,每个Node是这样的
E item;item自然可以放null了
Node<E> next;
Node<E> prev;
[解决办法]
我实际开发经验不多,感觉没有什么用
[解决办法]
不管放null进去有什么用,但是作为API,他得考虑到这个情况,要不然万一调用者不小心把null放进去了,怎么处理呢?对吧
[解决办法]
就理解为对null的支持呗,跟ArrayList也支持null一样咯。。。
[解决办法]
应该实际中没啥用,因为一般情况下毕竟没有人会把null放进去的。。
