亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于remove id后依舊可以查到id對應的name的邏輯問題

https://img1.sycdn.imooc.com//5ba938b80001800105550232.jpg

remove了id后,依舊可以查到id對應的name,這里的邏輯順序是什么

正在回答

2 回答

很正常,你這里查詢的name是來自st變量,而不是來自于集合students,該對象的確被刪除了,students里是沒有的。但是你新建了一個對st的引用變量,這個對象是你從students集合中取出來的,現在在被st引用。而你使用了remove,students集合中是不會有這個對象了,但是你在調用name時,是使用的st引用變量來調用查看的

1 回復 有任何疑惑可以回復我~
#1

斷弦之殤 提問者

也就是說Students st=students.get(id);這句不僅獲得了寫入的id,如果id存在的話,會把對應的name也自動賦給了了st,st其實是一個完整的Students類型的對象
2018-09-27 回復 有任何疑惑可以回復我~
#2

wayTG 回復 斷弦之殤 提問者

Students st=students.get(id) 這句話的意思是將集合中索引為id的元素取出來賦值給st變量。而你的刪除是刪除集合中索引為id的元素。這個時候,st變量(也就是你之前從集合里取出來的元素)還在的。但是你打印輸出的是st里的stuname屬性。
2018-09-27 回復 有任何疑惑可以回復我~
#3

斷弦之殤 提問者 回復 wayTG

嗯嗯,懂了
2018-09-28 回復 有任何疑惑可以回復我~
#4

斷弦之殤 提問者 回復 wayTG

謝謝哈
2018-09-28 回復 有任何疑惑可以回復我~
#5

wayTG 回復 斷弦之殤 提問者

不用謝~
2018-09-29 回復 有任何疑惑可以回復我~
查看2條回復

額?不知道能不能說清楚

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于remove id后依舊可以查到id對應的name的邏輯問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號