gpt4 book ai didi

java - 创建的 String 对象是否因 char[] 和编译时间分辨率而不同?

转载 作者:行者123 更新时间:2023-11-29 05:40:43 24 4
gpt4 key购买 nike

在很多论坛上有很多关于这个的问题,但是当你阅读每一个问题时,你实际上回到了你开始的地方!!据我了解,对于以下示例:

1. String s = "abc" + "xyz"; 

...将创建 3 个对象,对吗? “abc”(由于未分配引用而丢失)、“xyz”(丢失)和“abcxyz”

2. String s = new String("def"); 

...将创建 2 个字符串对象。 “def”和带有新运算符的那个

对于 1,我听说编译时解析了字符串连接并且只创建了 1 个对象“abcxyz”

对于 2,我听说当我们使用 new 时,有时会创建包含其数据的 char[],这会增加创建的对象的数量!

请告诉我这是否正确。

最佳答案

您迷失在实现细节中。显然,您想了解,但我建议您首先真正掌握对象。

如果坚持基础知识,那么 1. 只有一个对象 s 和两个文字; 2. 只有一个对象,s。

实现细节可以(并且确实)发生变化。深层概念要稳定得多。

关于java - 创建的 String 对象是否因 char[] 和编译时间分辨率而不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17690890/

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