В настоящее время вы только что определили функциональный интерфейс, для его дальнейшего выполнения вам необходимо вызвать реализацию в вашем коде. В вашем случае для этого вам нужно вызвать метод BiConsumer.accept
как:
bc.accept(list1, list2);
который затем выполняет операцию, которую вы определили. Как говорится в его Javadoc
Выполняет эту операцию с заданными аргументами.
В другой заметке, если бы я предложил, вы можете просто напечатать (по крайней мере) оба списка, которые вы потребляете, как:
BiConsumer<List<String>, List<String>> biConsumer = (lista, listb) -> {
lista.forEach(System.out::print);
listb.forEach(System.out::print);
};
biConsumer.accept(list1, list2);
, который будет печататься как вывод A B V J G P
.
(из комментариев) Это может быть записано так:
BiConsumer<List<String>, List<String>> biConsumer =
(lista, listb) -> Stream.concat(lista.stream(), listb.stream())
.forEach( System.out::print);