public List<E> subList(int fromIndex, int toIndex) {
return (this instanceof RandomAccess ?
new RandomAccessSubList<E>(this, fromIndex, toIndex) :
new SubList<E>(this, fromIndex, toIndex));
}
Как и в случае с ArrayList, это возвращаемый список, поскольку @George Kastrinis сказал, что, по возможности, используйте интерфейс.