Lambda expresión no está funcionando, siendo terminada

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 acceptmétodo. llamarlo de la siguiente manera:

  bc.accept(list1, list2);

Además, tenga en cuenta que no es necesario llamar streamsólo para llamar forEachsu lugar llamar forEachdirectamente en la lista:

 lista.forEach(System.out::print);

Otra cosa es que tu BiConsumerno 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);

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=178803&siteId=1
Recomendado
Clasificación