gpt4 book ai didi

java - 如果字符串对象被实习那么为什么改变一个不影响其他

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

<分区>

如果字符串对象是 interned 那么为什么改变一个不会影响其他

public class EqualExample {
public static void main(String[] args) {

String str = new String("Hello");
String str1 = new String("Hello");

System.out.println(str == str1);
System.out.println(str1.equals(str));

}

}

以上程序的输出为

假的是的

    public class EqualExample {
public static void main(String[] args) {

String str = "Hello";
String str1 = "Hello";

System.out.println(str == str1);
System.out.println(str1.equals(str));

}

}

以上代码的输出是

是的是的

这是因为在字符串池中 Heloo alredy 存在所以它实习字符串并引用相同的对象那么为什么如果我将 str1 更改为“heloo java”那么为什么 str 仍然具有值“heloo”。因为它们引用相同的对象所以 str 的值必须改变 公共(public)类 EqualExample { public static void main(String[] args) {

    String str = "Hello";
String str1 = "Hello";

System.out.println(str == str1);
System.out.println(str1.equals(str));

str1="Heloo java";
System.out.println(str+str1);
System.out.println(str == str1);
System.out.println(str1.equals(str));

}

}

输出真真的HelooHeloo java错误的假的

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