Java:比较两个字符串是否相等
目录
- 使用equals()方法(√)
- 使用“ == ”运算符(×)
- a.equals( “ “ )和” “.equals(a)
使用equals()方法(√)
在Java中,可使用equals()方法来比较两个字符串是否相等。示例代码如下:
String str1 = “hello”;
String str2 = “world”;
String str3 = “hello”;if(str1.equals(str2)){
System.out.println("str1和str2相等");
}else{
System.out.println("str1和str2不相等");
}
if(str1.equals(str3)){
System.out.println("str1和str3相等");
}else{
System.out.println("str1和str3不相等");
}
输出结果为:
str1和str2不相等
str1和str3相等
使用“ == ”运算符(×)
- 注意,使用“==”运算符比较两个字符串是否相等是不正确的,因为它比较的是两个字符串对象的引用地址,而不是字符串的内容。
a.equals( “ “ )和” “.equals(a)
- 在Java中,a.equals(“ “)和” “.equals(a)的区别主要在于对于变量a的处理方式。
- a.equals( “ “ ):这种写法假设a是一个字符串对象,调用了a对象的equals()方法来比较其内容与字符串” “是否相等。如果a是null,则会抛出NullPointerException异常,因为null对象不能调用方法。
- “ “ .equals(a):这种写法是将字符串” “作为调用者,调用了字符串对象的equals()方法,用来比较其内容与变量a的内容是否相等。这种写法可以避免a为null时的异常情况,因为字符串对象的equals()方法会进行null检查。
- 因此,推荐在比较字符串时使用” “.equals(a)的方式,特别是当你不能确定变量a是否为null时,这样可以避免发生空指针异常。
还没有评论,来说两句吧...