Java提供了多种方法来判断字符串相等,常用的有以下五种:
- 使用"=="运算符
使用"=="运算符判断两个字符串是否相等,实际上是判断两个字符串的引用是否相同。当两个字符串的引用指向同一个内存地址时,它们是相等的,否则不相等。示例代码如下:
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
System.out.println(str1 == str2); // true
System.out.println(str1 == str3); // false
上述代码中,str1和str2的引用都指向了常量池中的"hello"字符串,所以它们引用的是同一个内存地址,输出结果为true;而str3的引用指向了堆内存中新创建的"hello"字符串,所以和str1不是同一个引用,输出结果为false。
- 使用equals()方法
使用equals()方法判断两个字符串是否相等,是比较两个字符串的内容是否相同。该方法定义在java.lang.String类中,继承自java.lang.Object类,需要注意的是,该方法区分大小写。示例代码如下:
String str1 = "hello";
String str2 = "Hello";
String str3 = new String("hello");
System.out.println(str1.equals(str2)); // false
System.out.println(str1.equals(str3)); // true
上述代码中,str1和str3的内容相同,输出结果为true;而str2的内容虽然和str1很接近,但是因为大小写不同,内容不同,输出结果为false。
- 使用equalsIgnoreCase()方法
使用equalsIgnoreCase()方法判断两个字符串是否相等,忽略大小写。该方法定义在java.lang.String类中,继承自java.lang.Object类。示例代码如下:
String str1 = "hello";
String str2 = "Hello";
System.out.println(str1.equalsIgnoreCase(str2)); // true
上述代码中,虽然str1和str2的大小写不同,但是它们的内容相同,忽略大小写后,输出结果为true。
- 使用compareTo()方法
使用compareTo()方法来比较两个字符串的大小关系。该方法定义在java.lang.String类中,继承自java.lang.Comparable
String str1 = "hello";
String str2 = "world";
int res = str1.compareTo(str2);
System.out.println(res); // -1
上述代码中,str1的字母序在str2之前,输出结果为负数,表示str1小于str2。
- 使用equalsIgnoreCase()方法
使用equalsIgnoreCase()方法判断两个字符串是否相等,忽略大小写。该方法定义在java.lang.String类中,继承自java.lang.Object类。示例代码如下:
String str1 = "hello";
String str2 = "Hello";
System.out.println(str1.equalsIgnoreCase(str2)); // true
上述代码中,虽然str1和str2的大小写不同,但是它们的内容相同,忽略大小写后,输出结果为true。
总结:
以上五种方式,根据使用场景的不同,可以选择使用其中一个或多个来判断字符串相等或者大小关系,需要我们根据具体情况来灵活运用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java判断字符串相等的方法 - Python技术站