黑马程序员技术交流社区
标题:
问一个基础java问题
[打印本页]
作者:
王小刚
时间:
2012-4-24 14:37
标题:
问一个基础java问题
public static final Map<String, String> BEANS = new HashMap<String, String>();
为什么BEANS仍然可以put,如果是String、Integer等基本类型或者他的包装类就无法改值(而且无法编译),告诉为什么呢?
作者:
毕博
时间:
2012-4-24 14:58
泛型的具体类型限制是受制于前面的声明,而不限于后面new出来的类型,
之所以出现这两种写法,是为了保持兼容性,安全性检查就要自己考虑了。
Map<String, String> BEANS = new HashMap<String, String>();
这种编译的时候类型只能存放String类型, 这个是泛型定义死的,只能存放类型,
作者:
应佳锋
时间:
2012-4-24 15:46
老大 我 告诉你一个常识吧 泛型是你可以把方法的参数类型设置为基类 使之能够具备更好的灵活性!
Integer可以 是因为他本身就是一个类 INT不可以因为他是一个基本类型 换句话说 类就是类型 Integer是类 INT非类
OVER
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2