Java8 Stream:为什么Stream.skip(long n)方法需要long而不是int作为参数?

Agu*_*uid 3 java java-stream

这里是Stream的skip方法的定义:

skip(long n)在丢弃流的前n个元素后,返回由该流的其余元素组成的流.

我的问题是为什么参数long代替int

这是一个例子:

import java.util.Arrays;
import java.util.List;
public class Main {
  public static void main(String[] args) {
    List<String> stringList = Arrays.asList("1","1","2","3","4");

    stringList.stream()
           .skip(2)
           .forEach(System.out::print);// will prints 234
  }
} 
Run Code Online (Sandbox Code Playgroud)

小智 5

因为并非所有列表都限于Integer.MAX_VALUE元素数量.
例如LinkedList.