Quiero bucle de cada elemento de la lista. Dentro de cada elemento que todavía tienen acciones para ella, que quería poner en práctica estas acciones y luego almacenarla en forma de lista.
List<String> Str = words.stream().forEach(x->x.getSentenceStr().toLowerCase()).collect(Collectors.toList());
He recibido un error al intentar utilizar mi método:
no puede invocar a cobro revertido en vacío tipo primitivo.
Pensé que el forEach es el uso de bucle de cada elemento de la lista y si realizo determinada acción dentro de cada elemento, a continuación, regresará la salida mientras que todavía enrollarlo? Por último, la recogerá a continuación, recoger todos estos salida y convertirlo a la lista de cuerda. ¿Estoy teniendo el entendimiento equivocado de esta función forEach?
Aquí está mi juicio simulado:
List<String> s = new ArrayList<String>(Arrays.asList("a","b", "c"));
List<String> ss = s.stream().forEach(x->x.toLowerCase()).collect(Collectors.toList());
System.out.print(s);
forEach
es void
, se necesita un map
igual
List<String> ss = s.stream().map(x -> x.toLowerCase()).collect(Collectors.toList());
y se podía utilizar la invocación funcional más corta de String.toLowerCase()
igual
List<String> ss = s.stream().map(String::toLowerCase).collect(Collectors.toList());