Есть ли аналог Nothing в Java (нет)?



Тип Nothing является особенным, поскольку в Java ему нет аналогов.



Действительно, каждый ссылочный тип Java, включая java.lang.Void, принимает в качестве значения null, а Nothing не принимает даже этого. Таким образом, этот тип не может быть точно представлен в мире Java. Вот почему Kotlin генерирует необработанный тип, в котором используется аргумент типа Nothing:



fun emptyList(): List<Nothing> = listOf()

// is translated to

// List emptyList() { ... }