黑马程序员技术交流社区

标题: 集合问题 [打印本页]

作者: ztwztw    时间: 2014-1-4 08:04
标题: 集合问题

public class Text1 {
public static void main(String[] args){
Map<String,int>  map = new TreeMap<String,int>();//map中的泛型是不是只能放对象类型的
map.put("wer", 23);
map.put("wwr", 543);
map.put("wjr", 26);
Set<String> sets =map.keySet() ;
}

}
作者: 其LovE斤    时间: 2014-1-4 08:51
Map<String,int>  map = new TreeMap<String,int>();//map中的泛型是不是只能放对象类型的
你这句话是错的。
泛型的<>中只能放引用类型的。引用类型简单的说就是在内存中存在,有内存地址。而它的实例对象指向这片内存,实例对象中存储的是内存地址。int是基本数据类型。
如果要放入的是整数,你要用到基本数据类型包装类。int  对应的是  Integer。

map.put("wer", 23);  这里会对23进行自动装箱的动作。可以理解为编译器自动将23包装成了Integer类型,int和Integer之间,编译器会自动进行装箱和拆箱的动作。

作者: @翱翔@    时间: 2014-1-4 11:35


public class Text1 {
public static void main(String[] args){
Map<String,int>  map = new TreeMap<String,int>();/*首先,你这里有一个错误:Map是一个集合,集合只能存储引用类型,所以应该是
Map<String Integer> map=new TreeMap<String Integer> ();*/
map.put("wer", 23);
map.put("wwr", 543);
map.put("wjr", 26);
Set<String> sets =map.keySet() ;
}

}
泛型里面放的是引用类型


作者: 午夜b'Boy    时间: 2014-1-4 16:13
又补习了一下,呵呵




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2