タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

javaとkotlinに関するemonkakのブックマーク (3)

  • サーバサイドJava開発者のためのKotlin入門

    厳格なnullチェック - Kotlinはコンパイル時エラーとして、nullになり得るコードフローを扱います。そして、nullチェックを扱う追加のシンタックスを提供します。特に、連鎖したコールのNPEに対して、保護を提供します。 Javaとの相互運用性 - Kotlinは、この分野において、他のJVM言語よりもかなり優れています。Javaとはシームレスな互換性があります。フレームワークからJavaクラスをインポートして、Kotlinで利用できます。また、その反対も可能です。明らかに、Kotlinのコレクションは、Javaコレクションと互換性があります。 不変性 - Kotlinは、不変データ構造を促進します。一般的に使われるデータ構造 (Set/ List/ Map)は、可変であることを明確に述べていなければ、不変です。変数もまた、不変(val)と可変(var)を指定されます。これらの変更

    サーバサイドJava開発者のためのKotlin入門
  • Kotlinの隠れたコストについてのベンチマーク | POSTD

    @BladeCoder が書いた Kotlinの隠れたコストの調査 という一連のブログ記事は、ある Kotlin 構文にどのように隠れたコストがあるのかを説明しました。 実際の隠れたコストは、普通、不可視オブジェクトのインスタンス化やプリミティブ値のボクシング/アンボクシングに起因します。これらのコストは、Kotlinコンパイラがどのように上記の構文をJVMのバイトコードに変換するのかを理解していない開発者には特に見えづらいのです。 しかし、何らかの数字を示さずに隠れたコストの話をするだけでは、実際にどのくらいコストのことを心配すべきなのかという疑問が湧いてきます。コードベースのいたるところで、これらのコストを考慮すべきでしょうか?あるKotlin構文は単に全面的に禁止されるべきでしょうか?あるいは、最も範囲の狭い内部ループの中でだけ考慮されるべきでしょうか? さらに挑発的な言い方をすれば

    Kotlinの隠れたコストについてのベンチマーク | POSTD
  • ScalaとKotlin(と昔のJava)のジェネリクスが壊れている理由 - kmizuの日記

    表題の通りです。とりあえず、Kotlin版とScala版のコード貼ります。 gist.github.com gist.github.com これらのコードでは、両方とも明示的なダウンキャストやその他の抜け穴を使っていないので、実行しても決してClassCastExceptionが起きてはいけないのですが、実際に実行するとClassCastExceptionが起きてしまいます。 さて、これはコンパイラの実装のバグでもあり、言語仕様のバグでもあるのですが、ちょっと理由を説明してみたいと思います。 class B extends A with Comparable[B] { def compareTo(b: B): Int = 0 } 上記のコードをコンパイルすると、下記のコードが生成されます。ここで、int compareTo(java.lang.Object)というメソッドが 定義されている

    ScalaとKotlin(と昔のJava)のジェネリクスが壊れている理由 - kmizuの日記
  • 1