gpt4 book ai didi

java - 使用 new String 构造函数是否足以确保两个字符串具有不同的引用?

转载 作者:行者123 更新时间:2023-11-29 03:03:38 25 4
gpt4 key购买 nike

今天我在写一些简单的 junit 测试用例。其中一个调用方法检查字符串是否等于之前存储的某个其他字符串(在这种情况下,字符串应该具有相同的值)。

在工作应用程序中,比较将在从一个 jvm 转到另一个之后完成,因此两个字符串可能具有不同的引用。在测试中,我实际上是在重复使用相同的字符串。在纯理论中,有人可以将 equals() 更改为 == 而我不知道。

我已经更改了它,所以现在测试中的第二个字符串是使用 new String(originalString) 创建的。这足以确保这两个字符串具有不同的引用吗?

最佳答案

是的,这就够了。当您使用 new 关键字时,Java 语言保证将创建新对象,该对象不同于之前创建的任何其他对象。因此,您可以确定 java 编译器或 JIT 编译器不会优化这种情况。

关于java - 使用 new String 构造函数是否足以确保两个字符串具有不同的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33362869/

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