在本教程中,我们将学习区分Java中的字符串==运算符和equals()方法
class Main {
public static void main(String[] args) {
String name1 = new String("nhooo");
String name2 = new String("nhooo");
System.out.println("检查两个字符串是否相等");
//检查两个字符串是否相等
// 使用 == 运算符
boolean result1 = (name1 == name2);
System.out.println("使用 == 运算符: " + result1);
//使用 equals() 方法
boolean result2 = name1.equals(name2);
System.out.println("Using equals(): " + result2);
}
}输出结果
检查两个字符串是否相等 使用 == 运算符: false 使用 equals() 方法: true
在上面的示例中,我们使用了 == 运算符 和 equals()方法来检查两个字符串是否相等。这里,
== 检查对字符串对象的引用是否相等。在这里,name1 和 name2是两个不同的参数。因此,它返回 false。
equals()检查字符串对象的内容是否相等。在这里,对象name1和name2的内容是相同的:nhooo。因此,它返回 true。
class Main {
public static void main(String[] args) {
String name1 = new String("nhooo");
String name2 = name1;
System.out.println("检查两个字符串是否相等");
//检查两个字符串是否相等
//使用 == 运算符
boolean result1 = (name1 == name2);
System.out.println("使用 == 运算符: " + result1);
//使用 equals() 方法
boolean result2 = name1.equals(name2);
System.out.println("使用 equals() 方法: " + result2);
}
}输出结果
检查两个字符串是否相等 使用 == 运算符: true 使用 equals() 方法: true
在这里,name1和name2两者都是指向同一个对象。因此,name1 == name2 返回 true。