1
resposta

?

nomes.forEach(System.out::println);

Aprendi que o :: é usado para chamar metodos estáticos Será que isto é mesmo que chamar um método estático da funcao out.

1 resposta

Oi, André!

Sua observação faz sentido, sim! O operador :: é conhecido como method reference no Java. Quando você usa System.out::println, está passando uma referência ao método println do objeto System.out, que é uma instância de PrintStream.

Ou seja, nesse caso não é um método estático, e sim um método de instância. A diferença é que você está dizendo: “para cada elemento da lista, chame o println do System.out passando o elemento como argumento”.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!