Имейте в виду, что sortBy
выполняет преобразование , которое вы указываете для каждого из объектов, а затем сортирует по естественному порядку преобразованных объектов.
Вы преобразовали свои объекты в истины (если объект нулевой) и в ложь (если объект не нулевой). Вот ваш список преобразованных массивов:
true false true
И это будет отсортировано в соответствии с естественным порядком логических выражений, то есть ложные значения идут первыми, поэтому второй элемент будет заменен первым, что приведет к результату.
Для достижения желаемого результата используйте { it != null }
.