为什么这段代码不能编译?
package com.heather;
import java.util.function.IntSupplier;
import java.util.stream.IntStream;
public class MainClass {
public static void main(String[] args) {
class IntSupplierImpl implements IntSupplier {
int current = 0;
@Override
public int getAsInt() {
return current++;
}
}
//This doesn't work.
int sum = IntStream.generate(IntSupplierImpl::new).limit(1000).filter(i -> i % 3 == 0 || i % 5 == 0).sum();
System.out.println(sum);
//This does work.
int sum2 = IntStream.generate(new IntSupplierImpl()).limit(1000).filter(i -> i % 3 == 0 || i % 5 == 0).sum();
System.out.println(sum2);
}
}