¡Hola Paula!
En cuanto a tu pregunta, la diferencia conceptual entre Comparator.comparing(Cursos::getNombre)
y Comparator.comparing(Cursos::toString)
es que el primero se basa en la comparación del atributo nombre
de la clase Cursos
, mientras que el segundo se basa en la comparación del resultado de la conversión a String
de la clase Cursos
.
El método getNombre()
devuelve el valor del atributo nombre
de la clase Cursos
, mientras que el método toString()
devuelve una cadena que representa la clase Cursos
. Aunque en tu caso particular hayas definido que el método toString()
imprima el nombre del curso, esto no siempre es así. En general, el método toString()
se utiliza para representar una clase de manera general, y no necesariamente para obtener un atributo específico.
Por lo tanto, si deseas comparar los objetos Cursos
por su atributo nombre
, es preferible utilizar Comparator.comparing(Cursos::getNombre)
. Si deseas comparar los objetos Cursos
por su representación en cadena, entonces utiliza Comparator.comparing(Cursos::toString)
.
Espero haber aclarado tu duda. ¡Buenos estudios!