private ReadOnlyList(final ReadOnlyList<T> baseList, final int offset, final int length) { VerifyArgument.notNull(baseList, "baseList"); final T[] elements = baseList._elements; subListRangeCheck(offset, offset + length, elements.length); _elements = elements; _offset = offset; _length = length; }
@SuppressWarnings("unchecked") public ReadOnlyList(final T[] elements, final int offset, final int length) { VerifyArgument.notNull(elements, "elements"); _elements = (T[])Arrays.copyOf(elements, elements.length, elements.getClass()); subListRangeCheck(offset, offset + length, _elements.length); _offset = offset; _length = length; }
@SuppressWarnings("unchecked") public ReadOnlyList(final T[] elements, final int offset, final int length) { VerifyArgument.notNull(elements, "elements"); _elements = (T[])Arrays.copyOf(elements, elements.length, elements.getClass()); subListRangeCheck(offset, offset + length, _elements.length); _offset = offset; _length = length; }
private ReadOnlyList(final ReadOnlyList<T> baseList, final int offset, final int length) { VerifyArgument.notNull(baseList, "baseList"); final T[] elements = baseList._elements; subListRangeCheck(offset, offset + length, elements.length); _elements = elements; _offset = offset; _length = length; }
private ReadOnlyList(final ReadOnlyList<T> baseList, final int offset, final int length) { VerifyArgument.notNull(baseList, "baseList"); final T[] elements = baseList._elements; subListRangeCheck(offset, offset + length, elements.length); _elements = elements; _offset = offset; _length = length; }
@SuppressWarnings("unchecked") public ReadOnlyList(final T[] elements, final int offset, final int length) { VerifyArgument.notNull(elements, "elements"); _elements = (T[])Arrays.copyOf(elements, elements.length, elements.getClass()); subListRangeCheck(offset, offset + length, _elements.length); _offset = offset; _length = length; }
@NotNull @Override public ReadOnlyList<T> subList(final int fromIndex, final int toIndex) { subListRangeCheck(fromIndex, toIndex, size()); return new ReadOnlyList<>(this, _offset + fromIndex, _offset + toIndex); }
@NotNull @Override public ReadOnlyList<T> subList(final int fromIndex, final int toIndex) { subListRangeCheck(fromIndex, toIndex, size()); return new ReadOnlyList<>(this, _offset + fromIndex, _offset + toIndex); }
@NotNull @Override public ReadOnlyList<T> subList(final int fromIndex, final int toIndex) { subListRangeCheck(fromIndex, toIndex, size()); return new ReadOnlyList<>(this, _offset + fromIndex, _offset + toIndex); }