2
respostas

Método .forEach por que é tão difícil de ler?

Olá. Boa tarde. Estou com muitas dificuldades em ler o método "forEach", acredito que ele seja tão enxuto que dificulta a visualização. O antigo for com o iterador era muito mais simples:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeNo fim das contas, o que é esse "aula", é um parâmetro? Como ele lê o String que está guardado na caixinha Aulas?

Tenho muita dificuldade em ler isso, é normal? Essa sintaxe não ajuda.

2 respostas

Se você tem uma lista aulas = ['quimica','fisisca','historia']; ao vc fazer um forEach na sua lista você estará percorrendo cada posição da sua lista o aula é apenas o nome da propriedade, você pode nomear ela como você quiser. Aula terá o valor de 'Quimica' depois 'fisica' e por ultimo 'Historia'

Esta é uma sintaxe da programação funcional no Java. Eu no início também tive esse problema problema.

Todo operador de repetição for usa um iterador que neste caso é aulas (não precisa declarar o tipo, pois a JVM já sabe automaticamente, pois a lista aulas é que tem o iterador e portanto já sabe que tipo de objeto a lista guarda).

Com isso, diminui-se a verbosidade e se você interpretar a seta (->) como faça na linguagem humana, torna-se mais fácil de ler:

Para cada (forEach) aula, faça(->): imprima no console (System.out.println).

Um outro exemplo:

aulas.forEach(aulaGravada -> sendToEmail(aulaGravada))

Para cada (forEach) aula gravada, faça(->): mande a aula para o email dos alunos (método ficticio usado como exemplo).