Comments 13
Ждём с нетерпением!
Смотря что. Синтакисчечкий сахар-большая часть уже существует или есть аналог(часто более удобный чем ввели в джаве). При этом многие конструкции, видимо для обратно совместимости с джавой, вводтся, но выглядят несколько странно.
Фичи JVM-придут, но скорее всего нескоро, с опозданием на пару лет.
Закопайте стюардессу
в Котлине все это давно уже есть
Если говорить про удобство синтаксиса - то Котлин это уже всё имеет и в более "красивом" виде. Единственное, что switch
в джаве умеет больше, чем when
в котлине.
Например пример с точкой
if (o instanceof Point(int x, int y)) {
System.out.println(x+y);
}
на котлине будет более естественнен с использованием встроенной функции-расширения apply
, которая делает p
this
внутри apply
data class Point(val x: Double, val y: Double)
val p = Point(0.0, 1.0) as Any
if (p is Point) p.apply {
println(x+y)
}
p.s. { }
- это базовая пустая лямбда в котлине
p.p.s. если последним аргументом функции является литерал лямбды, то его можно передать в функцию после аргументов в круглых скобках и если в круглых скобках нечего передавать, то их можно опустить.
жду корутины в 21-м релизе
И нормальную обработку ошибок в корутинах в 31 релизе. Jav-ишники должны тоже страдать, как и котлинщики
Объясните, что вам там ненормального.
Например, неработающий try catch вокруг запуска корутины. Почему нельзя было эту обёртку заставить работать как supervisorjob, зачем нужна ещё одна сущность?
Ну а ошибки в корутинах в kotlin/js это прям совсем боль. В ошибку вываливатся немеряного размера стек, который НЕ СОДЕРЖИТ информацию о ошибке. Удобно, да.
Что нового в Java 20?