gpt4 book ai didi

java - 在JDK 1.6中,String的equals操作可以用==代替吗?

转载 作者:搜寻专家 更新时间:2023-11-01 01:11:29 25 4
gpt4 key购买 nike

当我研究一些开源产品的源代码时,我发现如下代码:

if (a=="cluser")

a 是一个字符串变量。字符串equals操作可以用==代替吗?

最佳答案

您应该几乎从不使用==并且几乎总是使用equals()。如果两个字符串都引用同一个对象,它只会与 == 一起使用。 String 上有一个 intern() 方法可以为给定的字符串值返回相同的引用。字符串文字是隐式驻留的。只有当你有充分的理由时才应该使用 == 进行字符串比较,即使这样你也需要非常小心。

唯一好的理由是性能,而且很少会很重要。只优化一次您确定您需要这样做。否则通常不值得麻烦。如果您正在查看一些开源代码,他们可能会遇到这样一种情况,即比较处于非常紧密的循环中或被非常频繁地调用,优化可以提供帮助。或者它只是过早地优化并且看起来可能是安全的。

关于java - 在JDK 1.6中,String的equals操作可以用==代替吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5839196/

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