Найти в Дзене
Kotlin

Kotlin

Всё про котлин
подборка · 11 материалов
139 читали · 10 месяцев назад
Data object внутри sealed class
Думаю, многие уже подняли версию котлин и обнаружили там data object внутри sealed class (ещё год назад). Я сделала это совсем недавно, поэтому давайте сейчас разберемся, что это такое, зачем он нужен, и чем отличается от обычного object. Напомню, что data class — это такие классы, которые автоматически генерируют equals(), hashCode() и toString(), чтобы они сразу зависели от состояния нашего котика (изменится возраст - изменятся результаты методов). А теперь представьте себе нечто подобное, но и для объектов...
118 читали · 1 год назад
Аннотация @JvmStatic в Kotlin
Наверное, многие из нас видели в коде аннотацию @JvmStatic и выглядит так, что она достаточно простая. Аннотация помогает сделать методы и свойства статическими в контексте Java. Казалось бы, а что еще тут говорить? Я тоже так думала, а набралось на целую статью. Когда мы пишем код на Kotlin, наши котики классы и объекты по умолчанию не имеют статических методов или свойств, как это принято в Java. Вместо этого Kotlin предлагает нам использовать companion objects. Однако, иногда нам нужно, чтобы методы и свойства выглядели статическими для кода на Java...
104 читали · 1 год назад
Разница между Thread.sleep() и delay
При разработке у нас часто бывает, что нужно приостановить выполнение задачи на какое-то время. Для этого можно использовать Thread.sleep() или delay. Посмотрим чем они отличаются и когда какой использовать. Это стандартный и всем известный метод, который приостанавливает выполнение текущего потока на переданное количество миллисекунд...
207 читали · 2 года назад
Inline. Что это и как использовать?
Сегодня немного обсудим что такое "inline". Многие слышали про это загадочное слово и знают, что оно очень важно для оптимизации производительности, но не все знают как оно устроено и что вообще делает. Сложное объяснение для самых умных: "inline" используется, чтобы сказать компилятору, что нужно встраивать код функции в место её вызова. Это позволяет избежать накладных расходов на вызов функции и улучшает производительность программы. Кроме того, "inline" позволяет использовать функции с лямбда-выражениями или функциональными интерфейсами более удобным образом...
339 читали · 2 года назад
Что такое object в Kotlin?
На одном из собеседований мне задали вопрос "Что такое object?" в котлине и я сразу подумала, что это отличная тема для статьи. Тем более, что у object есть целых несколько значений, а не только одно. Рассмотрим все. Синглтон Синглтон — это паттерн, который гарантирует наличие только одного экземпляра класса во всем приложении. Например, у нас всегда будет один и тот же домик для котиков на протяжении жизни всего приложения. Для создания синглтона достаточно использовать ключевое слово object: В...
Что такое when и с чем его едят?
Недавно с командой обсуждали when и я решила, что это отличная тема для новой статьи. :) when — это удобная замена для if-else. Оно позволяет более красиво записывать проверки, когда у нас миллион условий. Плюс when может работать с переменными разных типов. Например, одновременно с котиками, собачками и деревьями. Давайте сначала посмотрим на самый простой пример. Предположим, у нас есть котик Cat и у него есть параметр age. В зависимости от возраста котика мы хотим писать различные сообщения: Тут мы используем when для проверки возраста котика...