gpt4 book ai didi

java - Java如何存储字符串以及子字符串在内部如何工作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:05:51 25 4
gpt4 key购买 nike

<分区>

class StringTesting {
public static void main(String args[])
{
String str = "abcd";
String str1 = new String("abcd");
String str2 = str.substring(0,2);
String str3 = str.substring(0,2);
String str4 = str.substring(0,str.length());
String str5 = str1.substring(0,2);
String str6 = str1.substring(0,2);
String str7 = str1.substring(0,str1.length());

System.out.println(str2 == str3);
System.out.println(str == str4);
System.out.println(str5 == str6);
System.out.println(str1 == str7);
}
}

这是我在 java 1.6.0_27 上得到的输出:

false
true
false
true

有人可以解释一下输出吗?我知道 Java 区分存储在堆中的字符串和存储在字符串“公共(public)池”(可以被保留)中的字符串。在内部,他们的代表有何不同。它如何改变子串算法。请在适当的地方引用书籍/文章/博客等。

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