java復制粘貼,java的字符串復制_我應該如何復制Java中的字符串?

 2023-11-19 阅读 26 评论 0

摘要:String s = "hello";String backup_of_s = s;java復制粘貼。s = "bye";在這一點上,備份變量仍然包含原始值“hello”(這是因為String的不變性是什么?)。但是它是真的安全的復制字符串與這個方法(這是當然不安全復制常規可變對象)&#

String s = "hello";

String backup_of_s = s;

java復制粘貼。s = "bye";

在這一點上,備份變量仍然包含原始值“hello”(這是因為String的不變性是什么?)。

但是它是真的安全的復制字符串與這個方法(這是當然不安全復制常規可變對象),還是最好寫這個? :

網上復制的java代碼怎么用,String s = "hello";

String backup_of_s = new String(s);

s = "bye";

java判斷字符串相等?換句話說,這兩個片段之間有什么區別(如果有的話)?

EDIT – 第一個代碼段安全的原因:

讓我根據已經提供的好的答案(基本上集中在兩個片段之間的性能差異的問題),更詳細地解釋一些事情:

java 文件復制、字符串在Java中是不可變的,這意味著String對象在其構造之后不能被修改。

因此,

String s =“hello”;創建一個新的String實例,并將其地址分配給s(s是對實例/對象的引用)

字符串復制不用strcpy。String backup_of_s = s;創建一個新變量backup_of_s并初始化它,以便它引用當前由s引用的對象。

注意:字符串不變性保證此對象不會被修改:我們的備份是安全的

注2:Java垃圾收集機制保證只要被至少一個變量(在這種情況下為backup_of_s)引用,這個對象不會被銷毀,

最后,s =“bye”;創建另一個String實例(因為不可變性,它是唯一的方式),并修改s變量,以便它現在引用新對象。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/182406.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息