gpt4 book ai didi

java - 了解 Java 中字符串比较的工作原理

转载 作者:行者123 更新时间:2023-12-01 06:33:00 24 4
gpt4 key购买 nike

Possible Duplicate:
How do I compare strings in Java?

我是 Java 新手,在理解字符串比较方面有困难。谁能解释一下以下场景之间的差异?

场景 1:

String a = "abc";    
String b = "abc";

当我运行if(a == b)时它返回 true。

场景 2:

String a = new String("abc");    
String b = new String("abc");

然后运行if(a == b)然后返回 false。

有什么区别?

最佳答案

== 运算符比较内存中两个对象的引用。如果它们指向相同的位置,则返回 true。java 中的String 对象是 Immutable ,所以当您像场景1一样创建字符串时,它不会创建新字符串。它只是将第二个字符串指向第一个字符串的内存位置。

但是,.equals() 方法会比较字符串的内容。当字符串具有相同的值时,此方法返回 true。

因此,一般情况下建议使用equals()方法而不是==

关于java - 了解 Java 中字符串比较的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14056356/

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