gpt4 book ai didi

java - 字符串 a == 字符串 b 的规则

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:55 28 4
gpt4 key购买 nike

<分区>

我想了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是什么。

例如这个片段:

public static void main(String[] hi){
String s1 = "lol";
String s2 = "lol";
String s3 = new String("lol");
System.out.println( s1 == s2 );// true
System.out.println( s2 == s3); // false
s3.intern(); //line 1
System.out.println( s1 == s3); // false
testString(s1);

}

private static void testString(String s1){
String s4 = "lol";
System.out.println( s1 == s4); // true
}
  1. 在//第 1 行:字符串被添加到字符串池中。因为它不等于 s1,所以我假设字符串池中有重复项。正确吗?

  2. 池中有重复项的规则是什么?换句话说,即使两个字符串具有相同的字符序列,someString == someString 何时返回 false?

附言:无论如何,我到处都使用 string1.equals(string2)。我只是想更深入地了解底层机制。

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