Java не имеет такой функции сортировки с объектами, которые вы ищете.Если вы используете StreamSupport библиотеку Java, есть способ, который вы можете использовать, например, такой:
List<YourObject> result = list.stream().sorted((ob1, ob2)-> ob1.getState().
compareTo(ob2.getState())).
collect(Collectors.toList());
Вы можете работать с этой лямбда-выражением, чтобы применить логику, которую вы ищете (сначала отметьте State
, затем LSeconds
и т. д.)
PS: это легко сделать с помощью Kotlin, как в этот вопрос
РЕДАКТИРОВАТЬ : На самом деле, вы можете с Java 8, извините.Проверьте @ mạnh-quyết-nguyễn ответ .