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

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

這個更新方法。。取出students集合后面,并沒有賦值,怎么看這段代碼都沒有意義啊

g.getStudents().add(stu);這段代碼

從g中取出students的set集合,添加了一個stu對象,但并沒有用setStudent()方法賦值,那g對象中的set集合應該還是空的呀!g對象也應該是空的呀!不能這段代碼有什么意義?

正在回答

3 回答

。。。。。。。。。你不進行賦值操作 就是對私有屬性的操作 賦值之后才會發生改變

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

慕粉4241372 提問者

我服了,我自己寫了一個類測試了一下,效果居然也是這樣的,只有集合才能這樣,一下子還是理解不了,先當java就是這樣設定的吧,還是先謝謝你了
2017-05-15 回復 有任何疑惑可以回復我~

g.getStudents() 得到了私有屬性Student 在grade類中Student 是一個Set數據類型(是一個集合) Set數據類型自己有一個方法add 可以向這個集合添加一個數據

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

慕粉4241372 提問者

。。 g.getStudents()是會得到一個Set集合,但這相當與賦值給了一個新集合,所以g.getStudents().add(stu);相當于兩個步驟: HashSet newSet =g.etStudents(); newSet.add(stu); 無論這個newSet這么變化,g對象里面的私有屬性集合都不會會變化啊!應該并沒有使用setStudent()方法給它賦值呀! 沒有使用set方法那么這個g對象的屬性不可能變化呀!
2017-05-15 回復 有任何疑惑可以回復我~
#2

慕粉3796571 回復 慕粉4241372 提問者

這就是bug,哈哈
2017-06-15 回復 有任何疑惑可以回復我~

這段代碼是新創建一個Grade對象 在Grade對象中的學生集合Set中添加一個數據類型為學生的數據

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

慕粉4241372 提問者

我問的僅僅是g.getStudents().add(stu);這段代碼有何意義,為何再并沒有使用set方法的情況下,g對象的Hash Set集合屬性會受之影響
2017-05-15 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Hibernate初探之一對多映射
  • 參與學習       42160    人
  • 解答問題       310    個

Hibernate中一對多關聯映射配置,以及cascade和inverse屬性作用

進入課程

這個更新方法。。取出students集合后面,并沒有賦值,怎么看這段代碼都沒有意義啊

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

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

幫助反饋 APP下載

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

公眾號

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