欢迎访问宙启技术站
智能推送

Java函数如何判断两个字符串是否相同?

发布时间:2023-06-15 06:33:50

Java 中判断两个字符串是否相同有多种方法,以下将介绍常见的几种方法。

方法一:使用 equals() 方法

Java 中的 String 类提供了 equals() 方法,可以判断两个字符串是否相等。如果两个字符串内容相同,返回 true,否则返回 false。

示例代码:

String str1 = "Hello";
String str2 = "World";
if(str1.equals(str2)) {
    System.out.println("str1 和 str2 相同");
} else {
    System.out.println("str1 和 str2 不相同");
}

方法二:使用 equalsIgnoreCase() 方法

equalsIgnoreCase() 方法与 equals() 方法类似,只是它在比较字符串时忽略大小写。

示例代码:

String str1 = "hello";
String str2 = "HELLO";
if(str1.equalsIgnoreCase(str2)) {
    System.out.println("str1 和 str2 相同");
} else {
    System.out.println("str1 和 str2 不相同");
}

方法三:使用 compareTo() 方法

compareTo() 方法比较两个字符串的值大小,并返回一个整数值。如果返回值是 0,则表示两个字符串内容相同,如果返回值小于 0,则表示第一个字符串小于第二个字符串,反之大于第二个字符串。

示例代码:

String str1 = "Hello";
String str2 = "World";
if(str1.compareTo(str2) == 0) {
    System.out.println("str1 和 str2 相同");
} else {
    System.out.println("str1 和 str2 不相同");
}

方法四:使用 == 操作符

Java 中使用 == 操作符比较两个字符串,它比较的是两个字符串的引用,如果两个字符串所指向的内存地址相同,则返回 true,否则返回 false。

示例代码:

String str1 = "Hello";
String str2 = "Hello";
if(str1 == str2) {
    System.out.println("str1 和 str2 相同");
} else {
    System.out.println("str1 和 str2 不相同");
}

需要注意的是,使用 == 操作符比较字符串时,如果两个字符串的内容相同但是不是同一个字符串对象,则返回 false。

方法五:使用 equals() 方法和 length() 方法

判断两个字符串是否相同还可以通过比较它们的长度和每个字符的 ASCII 码是否相等来实现。

示例代码:

String str1 = "Hello";
String str2 = "hello";
if (str1.length() == str2.length()) {
  boolean flag = true;
  for (int i = 0; i < str1.length(); i++) {
    if (str1.charAt(i) != str2.charAt(i)) {
      flag = false;
      break;
    }
  }
  if (flag) {
    System.out.println("str1 和 str2 相同");
  } else {
    System.out.println("str1 和 str2 不相同");
  }
} else {
  System.out.println("str1 和 str2 不相同");
}

以上就是 Java 判断两个字符串是否相同的几种方法,可以根据实际情况选择合适的方法。