Articles of поле

Kotlin-приемник без поля

Я хотел бы создать getter и setter без поля. В настоящее время у меня есть эта функция: /** Only the color component will be considered, alpha has no effect */ fun setCircleColor(@ColorInt color : Int){ circlePaint.color = ColorUtils.setAlphaComponent(color, circlePaint.alpha) } В идеале я хотел бы иметь что-то вроде этого circleColor: @ColorInt Int get(){ return circlePaint.color […]

Инициализация Kotlin val, когда

Используя Java, я могу инициализировать окончательную переменную с помощью оператора switch: final String finalValue; switch (condition) { case 1: finalValue = "One"; break; case 2: finalValue = "Two"; break; case 3: finalValue = "Three"; break; default: finalValue = "Undefined"; break; } В Котлине, пытаясь сделать то же самое: val finalValue: String when (condition) { 1 […]

Kotlin – Как сделать поле только для чтения для внешних классов

У меня есть следующий класс Kotlin на Android: class ThisApplication: Application() { lateinit var network: INetwork override fun onCreate() { super.onCreate() network = Network() } } Теперь любой внешний класс может получить ссылку INetwork, просто выполнив: application.network Однако это также позволяет внешнему классу перезаписать это значение: application.network = myNewNetworkReference Я хочу избежать второго варианта. К […]

Kotlin – Как «запоздать» var переопределил интерфейс?

У меня есть интерфейс UserManager interface UserManager { var user:User /* … */ } и класс UserManagerImpl , который реализует UserManager class UserManagerImpl : UserManager { override var user: User // = must provide an User object /* … */ } Вот моя проблема: Как разрешить другому классу устанавливать User в UserManager() в любое время […]

Открытые поля для совместимости с Java

Я нашел недавний интерес к Kotlin как к языку, потому что платформа, которую мы разрабатываем для Java 6, и, следовательно, не имеет никакого синтаксического сахара, который в последние годы принес на Java. Есть только одна вещь, которая делает невозможным использование Kotlin над Java в разработке, то есть платформа, которую мы разрабатываем, использует внутреннее отражение и […]