Java 字符串比较:'==' 操作符和 'equals()' 方法
Java 字符串比较:'==' 操作符和 'equals()' 方法
以下代码示例演示了 Java 中字符串比较的两种方式:'==' 操作符和 'equals()' 方法。
public class Test extends Thread {
public static void main(String[] args) {
String a = 'Haiyong';
String b = new String(a);
int value = 0;
value = (a == b) ? 1 : 2;
if (value == 1) {
System.out.println('Haiyong');
} else if (value == 2) {
System.out.println('Blog');
} else {
System.out.println('HY');
}
}
}
解释:
- 代码中,
a和b都是字符串对象,但a是直接赋值的字符串,而b是使用new关键字创建的新字符串对象,即使两个字符串的内容相同,它们在内存中是不同的对象。 - '==' 操作符比较的是对象的引用,
a和b的引用不同,所以a == b为false,value的值为 2。 if语句中,value等于 2,因此输出为 'Blog'。
结论:
- '==' 操作符用于比较两个对象的引用是否相同,而不是比较它们的内容。
equals()方法用于比较两个对象的内容是否相同。
在处理字符串比较时,推荐使用 equals() 方法,以确保比较的是字符串的内容,而不是引用。
原文地址: http://www.cveoy.top/t/topic/mJIm 著作权归作者所有。请勿转载和采集!