可能重复:
如何比较Java中的字符串?
class StringTest {
public static void main(String[] args) {
String str1 = "Hi there";
String str2 = new String("Hi there");
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
}
Run Code Online (Sandbox Code Playgroud)
输出结果出来:
False
true
Run Code Online (Sandbox Code Playgroud)
为什么即使str1和str2看起来相等,第一个输出也是假的?
==比较变量的内容.(你很清楚这一点intA == intB.)
一个String变量包含一个参考的String对象,所以==会比较引用.
后
String str1 = "Hi there";
String str2 = new String("Hi there");
Run Code Online (Sandbox Code Playgroud)
str1并且str2将参考不同的字符串对象,从而包含不同的引用,因此str1 == str2会产生false.
str1.equals(str2)另一方面,将比较str1和str2引用的对象,正如您所指出的那样,它们会产生true.
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |