JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Kotlin на JVM: як викликати Java API

    Kotlin SELF
    29 рівень, 0 лекція
    Розбираємося, як Kotlin/JVM «дружить» із JDK: як імпортувати класи з java.*, чим відрізняється звернення за повним імʼям від import, як викликати Java-конструктори та «статичні» методи (наприклад, UUID.randomUUID() і System.getProperty(...)), як працювати зі змінюваними Java-колекціями ( ArrayList) і які помилки найчастіше трапляються під час перших спроб викликати Java API з Kotlin.
    Відкрита
  • Platform types у Kotlin: T! і контракт T? vs T

    Kotlin SELF
    29 рівень, 1 лекція
    Розбираємося, що таке platform types ( T!) у Kotlin під час Java‑interop, чому компілятор не завжди може гарантувати null-safety на межі з Java та як «приземляти» значення в явний контракт: T? (nullable + безпечна обробка через ?. і ?:) або T (fail-fast через require або !!). На практичних прикладах із System.getProperty, System.getenv і UUID показуємо, де ховаються NPE та як вибудувати дисципліну «контракту на межі».
    Відкрита
  • @Nullable/@NotNull і nullability Java API у Kotlin

    Kotlin SELF
    29 рівень, 2 лекція
    Розбираємося, як Kotlin на JVM «розуміє» nullability Java-коду: коли Java-сигнатури стають точнішими завдяки анотаціям @Nullable/ @NotNull, чому іноді все одно лишаються platform types ( T !) і як правильно обробляти nullability колекцій (контейнер vs елементи) через нормалізацію на межі: ?: emptyList (), filterNotNull (), mapNotNull ().
    Відкрита
  • SAM‑конверсія — Kotlin‑лямбди як реалізації Java SAM‑типів

    Kotlin SELF
    29 рівень, 3 лекція
    Розбираємося, як Kotlin на JVM «дружить» із Java‑API, що приймають функціональні інтерфейси (SAM‑типи, Single Abstract Method): як лямбда автоматично перетворюється на Runnable, Predicate або Comparator; як працює синтаксис trailing‑lambda; чому інколи виникає неоднозначність під час перевантаження; і яких практичних помилок найчастіше припускаються (переповнення в компараторі, плутанина типів Predicate<T> vs (T) -> Boolean, захоплення зовнішнього var).
    Відкрита
  • Мінімально «дружній до Java» Kotlin‑API — @file:JvmName і @JvmField

    Kotlin SELF
    29 рівень, 4 лекція
    Розбираємо, як Java «бачить» Kotlin на JVM: чому функції верхнього рівня (top-level) опиняються в класі із суфіксом Kt, як дати цьому класу нормальне імʼя через @file:JvmName, і коли має сенс експортувати властивості як поля — без гетерів/сетерів — за допомогою @JvmField. Наприкінці — мініінтеграція в CLI‑проєкт і типові помилки взаємодії (interop).
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush