What's New in Kotlin 1.3をさらっと眺めてみた #kotlin

What's New in Kotlin 1.3 - Kotlin Programming Language

↑をサラッと読んだ

  • contract構文ができた?
    • 🙄スマートキャストが便利になったみたいだけどよく分からん。。
  • whenの条件で変数代入ができるようになった
  • @JvmStatic@JvmField がinterfaceのcompanion objectで使えるようになった
    • 🙄うれしみはよく分からん
    • 🙄インターフェース内定数が宣言できるようになったってことかな?
  • アノテーションクラスの中にインナークラス、インターフェース、Enumが定義できるようになった
  • main関数の引数が省略可能になった。
  • FunctionTypeが引数を42個まで受け取れるようになった。
    • 🙄そんなに必要なのん。。?
  • progressiveモードができた
    • 🙄破壊的変更を厭わない人のためのコンパイルモード?
  • インラインクラスができた(実験的)
    • 🙄プロパティ一つだけのクラス?
    • 🙄最適化が積極的になされるっぽさ
  • 符号なし整数型ができた(実験的)

標準ライブラリ

  • マルチプラットフォームのランダムができた
    • java.util.Randomkotlin.random.Random
  • isNullOrEmpty/orEmptyの拡張関数ができた
  • array.copyIntoができた
  • keyのリストからMapを作れるassociateWithができた
    • 🙄valueだけ返せばMapになるっぽ
  • CollectionにifEmptyとifBlankができた
  • リフレクションでsealedクラスに触るAPIができた?
    • 🙄sealedクラスってなんだったけか
    • 🙄Enumの拡張版?

小さな変更

  • BooleanがCompanionを持つようになった
    • 🙄TRUEとかFALSEとかかな?
  • Any?.hashCode() はnullの場合0を返す?
  • CharにMIN_VALUE/MAX_VALUEの定数ができた
  • プリミティブ型のCompanionにSIZE_BYTESとSIZE_BITS定数ができた