Closed rcabanasdepaz closed 7 years ago
Filter returns the following object:
default DataStream
@Override
public Attributes getAttributes() {
return this.getAttributes();
}
@Override
public void close() {
this.close();
}
@Override
public boolean isRestartable() {
return this.isRestartable();
}
@Override
public void restart() {
this.restart();
}
@Override
public Stream<E> stream() {
return this.stream().filter(predicate);
}
};
return s;
}
This object is not of the same inner class. When .forEach() method is called, internally stream() is invoked. Then it enters in a infinite loop
The following code:
produces this exception:
Exception in thread "main" java.lang.StackOverflowError at eu.amidst.core.datastream.DataStream$1.stream(DataStream.java:116) at eu.amidst.core.datastream.DataStream$1.stream(DataStream.java:116) at eu.amidst.core.datastream.DataStream$1.stream(DataStream.java:116) at eu.amidst.core.datastream.DataStream$1.stream(DataStream.java:116) at eu.amidst.core.datastream.DataStream$1.stream(DataStream.java:116) at eu.amidst.core.datastream.DataStream$1.stream(DataStream.java:116) ...