人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Javaで下記のような記法があります。
HashMap<K,V>
ここの<〜>の記法はどういった意味の記述なのでしょうか。HashMapにおいてはキーと値の型を記述するようですが、他のクラスでもみたことあるので、普遍的な記法なのだと想像しているのですが・・
記号のためリファレンスなどでも記述個所が見つけられずに困っています。
どなたかご存知の方いましたらドキュメントの記載個所をお教えいただけますと幸いです。
お手数ですがよろしくお願いいたします。

●質問者: n_maco2
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●60ポイント ベストアンサー

「ジェネリックス(Generics)」と言います。
http://www.atmarkit.co.jp/fjava/rensai4/java5eclipse19/java5eclipse19_1.html

java だと、全てのクラスが元をたどると java.lang.Object から派生しているので、どのようなオブジェクトを指すような変数を定義できるのですが、そのメソッドを呼ぶときには、定義をしているインターフェースなり、クラスなりにダウンキャストしてあげる必要があります。
不適切なクラスのインスタンスを入れてしまった場合には、実行時に ClassCastException が送出されますが、これだと動かしてみるまで、間違いがあったことに気がつきません。
ジェネリックスを導入することで、コンパイルする時点で、不適切なクラスのインスタンスを代入してしまっている間違いを検出することができます。

c++ だと、テンプレートですね。


n_maco2さんのコメント
ご回答ありがとうございます! 思ってたより深いお話でビビっています・・w しっかり読んで理解したいと思います、ありがとうございました

2 ● nattow
●40ポイント

総称型(ジェネリック・ジェネリクス)ですね。

言語仕様はこの辺を参照してください。
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.2

日本語での解説は、「java 総称型」「java ジェネリック」「java generic」などで検索すればいいでしょう

一例としてはこの辺とかわかりやすくていいのでは
http://www.ne.jp/asahi/hishidama/home/tech/java/generics.html


n_maco2さんのコメント
ご回答ありがとうございます。 URLも参考になります!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ