在本教程中,我们将学习区分Java中的字符串==运算符和equals()方法
示例1:区分==和equals()的Java程序
class Main { public static void main(String[] args) { String name1 = new String("div.cn"); String name2 = new String("div.cn"); 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的内容是相同的:div.cn。因此,它返回 true。
示例2:== 运算符和 equals() 方法的区别
class Main { public static void main(String[] args) { String name1 = new String("div.cn"); 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。