Lambda als Funktionsparameter in Java
In Java ist es auch möglich eine Lambda Expression als Funktionsparameter zu übergeben. Dies funktioniert genauso als wenn man eine Variable übergibt. Der Unterschied ist nur, dass in der Funktion die Lambda Expression ausgeführt werden muss. Dafür gibt es je nach Lambda Funktionen wie apply, accept, andThen usw.
import java.util.function.BiConsumer;
public class LambdaAsParameter {
/* expect the functional interface 'BiConsumer' as parameter */
public void concatWords(String[] words, StringBuilder sb, BiConsumer<String, StringBuilder> concatlambda){
for(var word : words){
concatlambda.accept(word, sb);
}
System.out.print(sb.toString());
}
public static void main(String[] args){
LambdaAsParameter concat = new LambdaAsParameter();
final String[] words = {"dorf ","schule ","kaffee ","himmel ","fluss "};
StringBuilder sb = new StringBuilder();
/* pass a lmabda expression as function parameter */
concat.concatWords(words, sb, (x,y) -> {y.append(x);});
}
}
0
0
0.000
!BBH !WITZ !invest_vote
@ozelot47! Your Content Is Awesome so I just sent 1 $BBH (Bitcoin Backed Hive) to your account on behalf of @dotwin1981. (20/50)
@dotwin1981 denkt du hast ein Vote durch @investinthefutur verdient!
@dotwin1981 thinks you have earned a vote of @investinthefutur !