конструктор с параметром класса в Kotlin - PullRequest
0 голосов
/ 10 марта 2019

Я хочу иметь класс Kotlin с конструктором и получить другой класс в качестве параметра, подобного этому.

class LogHelper(cls : class) {

}

У меня был тот же класс в Java, и у меня не было никаких проблем с ним.

public LogHelper(Class cls) {
    LOG_TAG = cls.getSimpleName();
}

1 Ответ

3 голосов
/ 10 марта 2019

Вы можете использовать конструктор с параметром java.lang.Class:

class LogHelper(cls: Class<*>) {
    val LOG_TAG = cls.simpleName
}

или Котлина KClass:

class LogHelper(cls: KClass<*>) { ... }

* - Звездная проекция , используется для указания того, что у нас нет информации об общем аргументе.

Kotlin не допускает необработанные универсальные типы (например, Class), вы всегда должны указывать параметр типа (например, Class<*>, Class<Any>, Class<SomeClass>).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...