我认为s1和s2是引用,因此应该交换引用,而新引用应分别指向另一个引用。
是。在本地 内部
swap,这正是发生的情况。
但是,
s1和
s2是传递给函数的引用的 副本 ,因此效果保持局部性。请注意,不是复制的字符串(因为
String是引用类型)。但是引用 被
复制了。
…并且由于参数引用 始终 是用Java复制的,
swap因此根据您的规范编写函数非常简单。
如果您在理解区别上有困难,请考虑以下问题:您想给朋友写一封信,以便将其通讯地址从通讯录复制到信封上。通过此过程,您当然不会复制她的房屋(实际上复制整个房子有点困难)–您只复制了地址。
好吧,一个地址 指的 是她的家,所以它就像一个Java参考。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)