|
|
|
|
|
by the8472
4169 days ago
|
|
List<T>#forEach takes a Consumer<? super T> Consumer<U> has a single abstract method void accept(U u) The lambda effectively is an anonymous class implementing that interface / that single method. U resolves to ? super String. I.e. it expects a method that takes String or a superclass thereof as its first parameter. That's what e is. It all gets automatically pieced together at compile time via type inference. |
|