关于将主方法里数组的值传给方法,改变数组值的疑问

关于将主方法里数组的值传给方法,改变数组值的疑问

主方法里数组的值传给方法,改变数组值这里,我根本听不懂课程的解释,视频把最关键的部分讲的蜻蜓点水,为什么int变量把值传给方法,只是引起方法的改变,因为只是把值复制给了方法,那数组里就不行?

视频把这点讲的真的是两句话,我不懂

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

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

2回答
好帮手慕阿满 2019-04-09 10:53:27

同学你好,这里涉及到数据的存储。数组属于引用类型,新建一个数组后,在堆中开辟一块空间用于存储,变量名则指向数据的内存地址,传值时传递的是对象的引用,也就是传值前后的变量名指向的是同一个内存,其中一个修改了数据,另一个读取的就是修改后的数据。而基本数据类型是存储在栈中的,变量名指向的是具体的数值,传值时就是将具体的数值传递过去,其中一个修改数值不影响另一个变量。这些在后边还将学习到。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2019-04-08 19:00:06

同学你好,老师在后边讲到的,数组传值问题,a和a1数组指向了同一片内存空间,updateArray()方法中修改了内存空间中的值,相当a1指向改内存空间的值也被修改了。而基本数据类型传值,只是将值传入到swap()方法中交换了位置,但是并没有将交换后的数据返回,所以主方法中的数并没有改变。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    那为什么基本数据类型就不能和方法中的普通变量指向同一片内存空间? 而主方法中的数组和方法中的数组就可以?
    2019-04-08 19:03:07
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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