Я пробовал кое-что из kotlin.reflection
во время моего проекта, и застрял на чем-то, что мне кажется трудным для понимания, я объявил объект следующим образом:
object WebsiteMapping
{
const val ADMIN = "/admin"
}
раз я звоню:
Arrays
.stream(WebsiteMapping::class.java.declaredFields)
.forEach { field -> println(field.type) }
что я получаю:
class java.lang.String
class mapping.WebsiteMapping
Когда я немного посмотрел на то, что стоит за вызовом объявленных полей, я понял, почему он работает так, как есть, но есть ли какой-нибудь удобный способ получения только объявленных констант внутри этого объекта без получения корня всей структуры?