Map<String,Object> session = ActionContext.getContext().getSession(); session.put("longNum",123456);

longNum的值是long类型的,Map<String,Object>的值指定是Object类型的,那为什么可以放long类型的值呢?这是java的什么机制呢?请各位详... longNum的值是long类型的,Map<String,Object>的值指定是Object类型的,那为什么可以放long类型的值呢?这是java的什么机制呢?请各位详细说明一下原理吧。 展开
 我来答
hutaoooooo
2012-07-06 · TA获得超过441个赞
知道小有建树答主
回答量:747
采纳率:0%
帮助的人:366万
展开全部
这是java 5之后的“装箱拆箱”机制。
就是说java会在必要的时候自动把基本数据类型和其对应的类之间进行转换。
比如:
ArrayList<Integer> il = new ArrayList<Integer>();
il.add(100);
这个时候java会执行“装箱”机制,自动把基本类型100封装成Integer类。
又如:
Boolean ob = new Boolean(true);
if(ob){...}
这个时候java会执行“拆箱”机制,自动把Boolean类转换为boolean基本类型。

那么看你上面的代码,
session.put("longNum", 123456);
java会先装箱,把123456封装为Long类,而Long类是Object的子类,所以该语句得以顺利执行。
邗启3V
2012-07-06 · TA获得超过7271个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1392万
展开全部
Object是任何类型的父类型啊
你放一个子类型当然可以了
Object 就是任何类型都可以
希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a9379248
2012-07-06
知道答主
回答量:23
采纳率:0%
帮助的人:5.2万
展开全部
我觉得 学JAVA 的最好还是搞清楚 Object 类的定义 ,那么你的问题就很简单了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吸殻
2012-07-06 · TA获得超过217个赞
知道小有建树答主
回答量:379
采纳率:100%
帮助的人:211万
展开全部
比如Map<String,人类>
里面是不是可以放 “你” 呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式