List<Curso> cursos = new ArrayList<Curso>();
cursos.add(new Curso("Python", 45));
cursos.add(new Curso("JavaScript", 150));
cursos.add(new Curso("Java 8", 113));
cursos.add(new Curso("C", 55));
Se ao imprimir:
System.out.println(cursos);
Não tendo o toString na classe, a saída será:
[Curso@41629346, Curso@404b9385, Curso@6d311334, Curso@682a0b20]
Mas ao sobrescrever o método toString na classe, conseguimos ter o resultado desejado conforme o que foi sobrescrito no método toString.
Não tem como de alguma forma conseguirmos imprimir a referencia de stream de uma coleção de cursos sem ser iterando sobre?
Stream<String> nomes = cursos.stream().map(Curso::getNome);
System.out.println(nomes);
Saída no terminal:
java.util.stream.ReferencePipeline$3@7ba4f24f