关于本节课中赋值问题

关于本节课中赋值问题

https://img1.sycdn.imooc.com//climg/620e6d6a09899c1509440346.jpg

老师您好,我在回顾本节课中,遇到以下两个问题:

  1. 循环中cartVOS的get 方法是怎么来的,是List提供的吗,为什么在循环中可以使用cartVOS这个类中本不存在的方法呢?

  2. 在循环中,我们是使用的cartVO的setTotalPrice方法,但是我们返回的是cartVOS,但是在调用方法后,确实出现了总价的值,赋值和返回的对象不相同,是怎么完成赋值的呢(老师我怕我说的不清楚,现在我换一种表达,我的意思是,在循环中,我们把从数据库中查到的内容存入了名为cartVOS的List中,然后我们循环遍历,应该是把cartVOS的内容都遍历出来,然后存到新的List中才对吧,然后我们返回这个遍历之后的内容才对吧,但是我们直接在遍历之后返回了cartVOS,但是赋值却完成了,这个部分我没有理解)

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2022-02-18 13:28:18

同学你好,

1、1.1是的

      1.2因为这里需要获取到每一个对象,然后单独设置totalPrice的值,注:get(i)方法就是用是获取List中的第i+1个对象的

2、结合第一点去理解,调用get(i)方法获取List集合中的每一个CartVO对象,然后使用set进行属性赋值,这时值已经被修改并且传递到对象中了,随之List集合中的内容也会被修改,所以方法直接返回cartVOS即可~

https://img1.sycdn.imooc.com//climg/620f160709910f7209420297.jpg

祝学习愉快~

  • 提问者 赵林0225 #1

    老师你好,也就是说,get(i)方法相当于把List里边的内容挑出来,修改之后再放回的意思,我可以这样理解吗

    2022-02-18 14:19:59
  • 好帮手慕小脸 回复 提问者 赵林0225 #2

    同学你好,上述描述的前半句理解是正确的,但后半句理解有误,get并没有"修改之后再放回"的意思,简单理解整个流程就是为CartVO类中的属性进行set赋值,使用set为totalPrice属性赋值相当于直接修改的是原对象中的属性,而List集合中传入的是CartVO,数据也会随之同步更改,所以无需再次存到新的List集合中,举例如下:

    https://img1.sycdn.imooc.com//climg/620f593a09972c0d05800503.jpg

    祝学习愉快~


    2022-02-18 16:31:09
  • 提问者 赵林0225 回复 好帮手慕小脸 #3

    所以是“遍历,且直接修改”的意思吧,老师,谢谢!

    2022-02-18 17:03:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师