以前经常会在List的index处理上犯微小的错误,或大一,或小一,但结果都是一样:wrong!所以在这里简要总结一下最容易出错的两个方法。
1. List的indexOf(Object obj)方法:
这个方法返回的是List中一个节点的序号。例如:第一个节点返回0,最后一个节点返回list.size()-1。
2. List的subList(int begin, int end)方法:
这个方法是取出一个List的一个子List,在两个参数上很容易犯错误。
以一个size为5的List为例:
subList(0, 2);取出的是第一个到第二个节点;
subList(0, 1);取出第一个节点;
subList(1, 1);不取出任何节点;
subList(2, 1);则会出参数错误的异常。
可以看出,begin为起始节点的序号,end为所要取的最后一个节点的序号+1。
jdk中的这些类有很多细节都需要非常注意,不然实际的coding中会遇到很多麻烦。