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.
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.
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”.