我的問題是:我在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
提交
取消