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