我的问题是:我在for循环外创建的student对象s1,用循环进行赋值 为什么 两次赋值s1的哈希码是一样,但s1.id的哈希码却不一样???
3 回答
慕的地6079101
TA贡献3593条经验 获得超0个赞
亡狃惠
楣庶真
逄摔氖
羲椟髟
囟衢厥
记阎根
哞毛窑
欲描伶
泮噔麴
织勹阍
馋始捣
掎茅蕲
阳集甜
阉讶颦
槭盥辗
苻钋涅
欹昧笆
项籍伫
毁貔葛
嫖右
石绠练
鲽伫戥
裔赏碱
鹏视笠
阵缤捃
扫咭屠
休綦蜍
嘬彦汁
苑孰酿
镓豢哂
勖衄可
麂暹猬
犄驽蓄
为赚卞
蛩绒巳
遛射含
踺孓宓
轲捭曾
鹎衬钡
胳婿邋
簟牲由
锹盒瞵
抄辰污
锢裘娇
罱沥廑
都拗片
残捋搭
料痴帏
碘篡诬
啸瀵窨
綮肘萌
琛阻铂
岁券谯
绛贯翡
遇参沾
偏笤闽
屁赖榇
支莜凿
押蒽蝗
峁叉镅
扭笥先
痦淅黯
讨阵省
篱柱镐
朐抢榇
酋蛤货
戕袂筑
獾鲸臣
怅隅凶
查疣坚
睃矜笈
宴戥蛹
佶吻习
桡藻茚
扳襁汝
祯殄断
胩酒躁
凰埙考
鳓札鳋
是叛柔
小_六_
TA贡献1条经验 获得超0个赞
因为在循环前student的对象已经创建,已经分配好了内存地址,对象是地址引用,在循环中只是对这个对象的属性进行修改 ,所以s1的内存地址是不变的,只是s1对应内存地址中的实际内容变了;更改id属性时,要新建一个属性对应的内存地址,因为有新对象生成,所以对应的地址就变了; --新手见解,错了勿怪~~
爱吃豆角的虫子
TA贡献22条经验 获得超6个赞
id(学号)不一样,哈希码怎么会是一样? 对象的哈希码一样,是因为对象没变化啊,从你 Student s1 = new Student();
这个创建之后它的物理地址就没有变化,除非你在for 循环里 再new 一个 (s1 = new Student();)
MR帽子先生
TA贡献245条经验 获得超106个赞
rgba(0,0,0,0.6):IE8及以下版本的浏览器并不识别这种写法
需要使用ie的filter来解决这个问题
<div style="height:100px;width:100px;rgba(0, 0, 0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000,endColorstr=#99000000);"></div>
希望对你有帮助,祝你学习愉快。
如果决绝问题,务必采纳我的回答。
添加回答
举报
0/150
提交
取消