gpt4 book ai didi

java - String name1 = "some name"或 String name1 = new String ("some name"哪个更好?

转载 作者:行者123 更新时间:2023-12-02 11:04:44 27 4
gpt4 key购买 nike

有什么区别

String name1 = "some name";

String name1 = new String("some name")

哪个更好用?

谢谢

最佳答案

一般使用 String name1 = "some name";但是,如果您希望该字符串具有不同的引用,请使用新的初始化。

Java对字符串有一些优化。 = ""初始化检查字符串池是否之前初始化过相同的值。

String s1 = "test";
String s2 = "test";
String s3 = new String("test");


s1 == s2 // this is true because of string pool
s1 == s3 // this is false because of s3 is new instance

在上面的例子中,s1和s2放置在字符串池s3中,位于java字符串池之外。

使用 new String 会导致创建新实例并消耗更多内存。

查看有关字符串池的更多信息:https://www.journaldev.com/797/what-is-java-string-pool

关于java - String name1 = "some name"或 String name1 = new String ("some name"哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51057402/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com