初心者です。
HashMapを利用していて、とても疑問に思うことがあります。
それは、
Java
1import java.util.*; 2 3class Main{ 4 public static void main(String[] args){ 5 Map<String,Integer> nameAndHeight=new HashMap<String,Integer>(); 6//クラスのみんなの名前と身長を入れる連想配列です 7 nameAndHeight.put("田中",172); 8 nameAndHeight.put("吉田",168); 9 nameAndHeight.put("野村",171); 10 nameAndHeight.put("ダレイオス三世",345); 11 System.out.println(nameAndHeight.get("野村")); 12//??? 13//なんで<String,Integer>なんでしょうね??? 14//<String,int>のほうが打ってて楽なんですけど 15 } 16}
どうして<>の中にはオブジェクト型しか入らないのだろう、という事でした。
調べてみると<>はジェネリクスと言う、
引数の型を限定しないまま型安全を保持できる機能で使われるようです。
しかし、ジェネリックの中には、やはりオブジェクト型しか入らないようです。
「これがHashMapにオブジェクト型しか入らない原因かぁ……」
と分かったものの、ではなぜジェネリクスにオブジェクト型しか入れられないのか
よくわかりません。
どなたかご教授下されば幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/19 14:44