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

关于字符数组

关于字符数组

缥缈止盈 2018-08-24 10:13:44
这两种方式,好像都是对数组gg进行操作,但是为什么最后输出的数组ss会不一样?test01的结果是:h g f e e f g h test02的结果是:a b c d e f g h 
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

年轻人,虽然我已经多年没干Java了,但是深度复制要不要了解一下?

你的在test1中,将ss赋给了gg,无论是在java,C#,js,php等(为什么就说这几个?因为我就这四个最熟啊)语言里,都复制的都不是对象本身,而是复制的对象在内存的地址,虽然你用了gg和ss两个变量,但是两个变量引用的是同一个东西。

而你在test2中,重新给gg建立的数组,这样就会在内存里存在两个,你觉得一摸一样的对象,但是两个变量引用的却不是同一个地址。

 

你可以做一个实验,在两个方法中定义完两个变量,然后输出gg==ss(原谅我忘了java的控制台输出怎么写了),test1中应该是true,test2中应该是false


查看完整回答
反对 回复 2018-09-03
  • 1 回答
  • 0 关注
  • 630 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信