タグ

Javaに関するg0m1tt1のブックマーク (2)

  • Java におけるタイプセーフとジェネリクスの微妙な関係 - A Memorandum

    はじめに 当たり前な話 ジェネリック型の継承関係 共変(covariant)の問題点 共変(covariant) が妥当なケース 反変 (contravariant) の問題点 反変 (contravariant) が妥当なケース ここまでのまとめ ジェネリクスが不変だと、、 ジェネリクスに共変性を持たせる ジェネリクスに反変性を持たせる 境界ワイルドカード型のまとめ ジェネリック型のキャスト 境界型パラメータ 配列は共変 ジェネリクスの 不変・共変・反変 といった話は、なんとなく分かった気になって流してしまう方が多いのではないでしょうか? Java に限った話ではないですが、実際、ジェネリクスが絡んだタイプセーフ性の話題は混乱しやすく、理解しにくいものだと思います。 ここでは Java を題材に ジェネリクスの 不変・共変・反変 について、なるべく分かりやすく説明してみたいと思います。

    Java におけるタイプセーフとジェネリクスの微妙な関係 - A Memorandum
  • 図で理解するJavaの参照 - Qiita

    int[]型はintに[](ブランケット)を付けて表現するので勘違いしやすいと思います。int型とint[]型は違うので気をつけましょう。String型は文字列を代入しますが、Stringオブジェクト内部で文字列をchar配列として扱っていることに気をつけましょう。下の三つはオブジェクト生成の記法は違いますが、全て等価になります。同値と等価は意味が違うので気をつけてください。同値と等価についてはこちらの記事を読んでもらえると嬉しいです。 String a = "りんご"; String b = new String("りんご"); String c = new String(new char[]{'り', 'ん', 'ご'}); System.out.println(a); // りんご System.out.println(b); // りんご System.out.println(c)

    図で理解するJavaの参照 - Qiita
  • 1