Olá Thailan!
Entendo a sua dúvida em relação ao comportamento diferente da IDE ao chamar o método sorted
. Na verdade, o comportamento da IDE está correto.
Na aula, o professor mostra como implementar a interface Comparable
na classe Livro
para definir um critério de ordenação. Isso é necessário quando queremos uma ordenação personalizada, como por exemplo, ordenar os livros por ano de publicação.
Porém, a função sorted
também possui uma sobrecarga que permite passar uma função lambda como parâmetro, definindo assim um critério de ordenação personalizado. Essa é a opção que você está utilizando ao criar uma extension function.
Por exemplo, se quisermos ordenar os livros por título, podemos fazer da seguinte forma:
val ordenadoPorTitulo = livros.sortedBy { it.titulo }
Dessa forma, a lista de livros será ordenada de acordo com o critério definido na função lambda, que no caso é o título do livro.
Portanto, não há nenhum problema no ambiente. A diferença de comportamento ocorre porque você está utilizando uma forma diferente de definir o critério de ordenação.
Espero ter esclarecido a sua dúvida! Se tiver mais alguma pergunta, é só me dizer.
Espero ter ajudado e bons estudos!