gpt4 book ai didi

java - 将两个 Java 字符串与 "=="进行比较时出现意外结果

转载 作者:行者123 更新时间:2023-11-30 06:30:51 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Difference Between Equals and ==
In JDK 1.6, can String equals operation can be replaced with ==?
How do I compare strings in Java?

在玩 Java-Strings 时,我没想到会出现以下结果:

public class Sandbox {
public static void main(String[] args) {
String a = "hello";
String b = "hello";

System.out.println(a == b); //true Why?, a and b both are seperate Objects
System.out.println(a == "hello"); //true Why?
System.out.println(a == new String(b)); //false As expected
}
}

我预计所有都是错误的,因为“==”比较引用。为什么会出现这种结果?

当我更改 String b = "world" 时,System.out.println(a == b); 返回 false。似乎正在比较 String-Object 的内容。

由于 Java 7 可以比较 switch-case-Statements 中的字符串,我认为这可能与 Java 版本有关。但如所述here ,在比较 Switch-Case 中的字符串时调用 equals-Methode。

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