💻 Хорошо разбираешься в Kotlin? Готов по полочкам разложить, чем он отличается от Java? Проверь свои знания на этих 10 вопросах⏩Что из этого в настоящее время не поддерживается в Kotlin?
[x] JVM
[x] JavaScript
[x] LLVM
[_] .NET CLR
⏩Какое выражение Kotlin эквивалентно такому
int x = a ? b : c
из Java?
[x] val x = a ?: b, c
[x] val x = if (a) b : c
[x] val x = a ? b : c
[_] val x = if (a) b else c
⏩Что применимо для следующего объявления класса?
class Person (val name: String)
[x] Он package-private
[x] Он может быть расширен другими классами
[_] Он public
[x] У него приватное свойство "name"
⏩Есть ли у Kotlin примитивные типы данных, такие как
int
,
long
,
float
?
[x] Нет, Kotlin не имеет и не использует примитивные типы данных.
[_] Нет, не на уровне языка. Но компилятор Kotlin использует примитивы JVM для лучшей производительности.
[x] Да, но Kotlin всегда конвертирует их в не примитивные аналоги.
[x] Да, Kotlin в этом отношении похож на Java.
⏩Что такое
to
в этом ниже примере:
val test = 33 to 42
[_] Инфиксная функция, создающая пару (33, 42)
[x] Ключевое слово Kotlin для создания пары (33, 42)
[x] Ключевое слово для создания диапазона от 33 до 42
[x] Опечатка
⏩Какое из объявлений функций является валидным?
[x] int sum(int a, int b)
[x] int sum(a: Int, b: Int)
[x] function sum(a: Int, b: Int): Int
[_] fun sum(a: Int, b: Int): Int
⏩В чем ключевое отличие
Iterable<T>
и
Sequence<T>
в Kotlin?
[x] Iterable<T>
работает только с
immutable
коллекциями,
Sequence<T>
применим к
mutable
[x] Нет никакой разницы, т. к.
Sequence<T>
аналог
Iterable<T>
[_] Последовательности обрабатываются лениво, итераторы жадно
[x] Последовательности обрабатываются по очереди, итераторы параллельно (многопоточно)
⏩Чего не предлагает
dataclass
?
[x] Авто-генерируемый метод
toString()
[x] Метод
copy(...)
, для создания копии экземпляров.
[_] Автоматическое преобразование из/в JSON
[x] Авто-генерируемые методы
hashCode()
и
equals()
⏩Что выведет следующий код?
val listA = mutableListOf(1, 2, 3)
val listB = listA.add(4)
print(listB)
[x] [1, 2, 3, 4]
[_] True
[x] Ничего, тут ошибка компиляции
[x] Unit
⏩В чем разница между
a
и
b
?
var a: String? = "KotlinQuiz"
var b: String = "KotlinQuiz"
[x] a
является
volatile
, как в Java
[x] b
является
final
и не может быть изменено
[x] a
является
final
и не может быть изменено
[_] b
никогда не сможет стать
null
Ну как? 10 из 10?
@android_its