Глядя на проект history , этот файл раньше был Java, но был переведен непосредственно на Kotlin - оригинальная версия Java здесь здесь , и вы можете видеть, что они просто преобразовали егопрямо в Котлин.
Хотя версия, которую вы дали, имеет больше смысла в Kotlin, в Java такой возможности нет, потому что локальные переменные, которые вы используете в анонимном классе или лямбде, должны быть окончательными. Вот почему вместо этого используется массив из одного элемента. Но если бы они написали это изначально на Kotlin (или если бы они должны были сделать рефакторинг), они почти наверняка сделали бы это так, как вы.