gpt4 book ai didi

java - Java String 真的是不可变的吗?

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

在 String 源代码中,哈希码值 (private int hashCode) 似乎只有在方法 public int hashCode() 至少被调用一次时才会设置。这意味着不同的状态。但是会不会在下面的例子中设置hashCode:

String s = "ABC"; ? 

String s = "ABC"; 
s.hashCode();

有助于后续比较性能?

最佳答案

不可变意味着,从外部角度来看,对象的值无法更改。

如果 hashCode 被缓存,对象的内部状态在第一次 hashCode 调用后可能不同。但该调用是只读的,您无法更改对象在外界看来的值。

换句话说,它仍然是同一个字符串。

关于java - Java String 真的是不可变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4011718/

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