user1245524:
escribió programa java8 con la expresión lambda, no es la silla eléctrica en vez terminados sus consiguiendo en la expresión lambda, sin excepciones
import java.util.ArrayList;
import java.util.List;
import java.util.function.BiConsumer;
public class BiConsumerTest {
public static void main(String[] args) {
try{
List<String> list1 = new ArrayList<String>();
list1.add("A");
list1.add("B");
list1.add("V");
List<String> list2 = new ArrayList<String>();
list2.add("J");
list2.add("G");
list2.add("P");
BiConsumer<List<String> , List<String>> bc = (lista, listb) ->{
lista.stream().forEach( System.out::print);
};
}catch(Exception ex){
ex.printStackTrace();
}
}
}
Se espera que se imprimirá la cadena en la lista
Ousmane D .:
Esto se debe a que no está llamando a la BiConsumer
's accept
método. llamarlo de la siguiente manera:
bc.accept(list1, list2);
Además, tenga en cuenta que no es necesario llamar stream
sólo para llamar forEach
su lugar llamar forEach
directamente en la lista:
lista.forEach(System.out::print);
Otra cosa es que tu BiConsumer
no utiliza la segunda lista, esto puede ser debido a que no ha terminado de implementar toda la lógica sin embargo, en cuyo caso es comprensible.
código completo:
BiConsumer<List<String>, List<String>> bc = (lista, listb) -> {
lista.forEach(System.out::print);
// listb.forEach(System.out::print);
};
bc.accept(list1, list2);