为了账号安全,请及时绑定邮箱和手机立即绑定

这个更新方法。。取出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初探之一对多映射
  • 参与学习       42171    人
  • 解答问题       295    个

Hibernate中一对多关联映射配置,以及cascade和inverse属性作用

进入课程

这个更新方法。。取出students集合后面,并没有赋值,怎么看这段代码都没有意义啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信