📜  java 字符串不相等 - Java (1)

📅  最后修改于: 2023-12-03 15:01:33.546000             🧑  作者: Mango

Java 字符串不相等

在Java中,比较字符串是否相等的方法是调用equals()方法。如果返回值为true,则表示两个字符串相等;如果返回值为false,则表示两个字符串不相等。

然而,有时候会出现两个字符串看起来一样,但是使用equals()方法比较却返回false的情况。这是因为在Java中,字符串是对象,而equals()方法比较的是对象的引用是否相等。

如果希望比较两个字符串的内容而不是引用,可以使用equals()方法的变种equalsIgnoreCase()或者使用compareTo()方法进行比较。

下面是一个示例代码:

String str1 = "Java";
String str2 = new String("Java");
System.out.println(str1.equals(str2)); // 输出 false
System.out.println(str1.equalsIgnoreCase(str2)); // 输出 true
System.out.println(str1.compareTo(str2)); // 输出 0

在上面的示例中,str1str2的内容是一样的,但是由于str2使用了new关键字创建了一个新的对象,所以使用equals()方法比较会返回false。而使用equalsIgnoreCase()方法比较会返回true,因为该方法比较时不区分大小写。使用compareTo()方法比较会返回0,因为两个字符串的内容相同。

总之,在Java中比较字符串时要注意使用equals()方法或其变种进行比较,不要直接使用==!=运算符进行比较,否则可能会出现意想不到的结果。