Проблема в том, что вы пытаетесь отсортировать эту коллекцию через it
. Но it
может быть экземпляром любого типа.
Any
однако это не то, что можно сравнить (Any
не реализует Comparable
интерфейс).
Итак, когда вы используете sortedBy
метод, вы должны предоставить что-то, что можно сравнить. Например:
return genericCollection.sortedBy { it.hashCode() }.joinToString(separator = "_")
hashCode()
возвращает Int
и Int
можно легко сравнить.
Фактически, пока вы не используете <*>
в качестве универсального типа, вы не сможете найти что-то лучшее для сравнения коллекции.