通过将两个字符串传递给实用函数来交换Java中的两个字符串,但不返回对象或使用包装器类

通过将两个字符串传递给实用函数来交换Java中的两个字符串,但不返回对象或使用包装器类,第1张

通过将两个字符串传递给实用函数来交换Java中的两个字符串,但不返回对象或使用包装器类

我认为s1和s2是引用,因此应该交换引用,而新引用应分别指向另一个引用。

是。在本地 内部

swap
,这正是发生的情况。

但是,

s1
s2
是传递给函数的引用的 副本 ,因此效果保持局部性。请注意,不是复制的字符串(因为
String
是引用类型)。但是引用
复制了。

…并且由于参数引用 始终 是用Java复制的,

swap
因此根据您的规范编写函数非常简单。

如果您在理解区别上有困难,请考虑以下问题:您想给朋友写一封信,以便将其通讯地址从通讯录复制到信封上。通过此过程,您当然不会复制她的房屋(实际上复制整个房子有点困难)–您只复制了地址。

好吧,一个地址 指的 是她的家,所以它就像一个Java参考。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5561271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存