1.equals()
首先想到的就是equals(),正常以s1.equals(s2)
的格式比较s1与s2两者的内容,结果类型为布尔值。一开始接触到的会与 ==
混淆,s1==s2
通常比较两个对象在内存中的首地址,如果相同则为相同对象,不同则代表指向不同的对象。
String s1 = "Hello";
String s2 = "Hello";
String s3 = "hello";
s1.equals(s2);//结果为true
s1.equals(s3);//结果为false
s1 == s2 //结果为false
2.equalsIgnoreCase()
他与equals()
有两点不同之处:首先,他是比较忽略大小写的字符串;其次,他只能比较两个字符串,而equals()
可以比较其他类型的对象。示例如下:
String s1 = "Hello";
String s2 = "Hello";
String s3 = "hello";
s1.equalsIgnoreCase(s2);//结果为true
s1.equalsIgnoreCase(s3);//结果为true
3.compareTo()
用法与equals()
相似,不过他返回的是整数类型,比较的两个字符串的差值,并且他和equalsIgnoreCase()
一样,只能比较字符串类型,不可比较其他类型的值。
String a2 = "你好";
String a3 = "你好";
String a4 = "Hello";
String a5 = "hello";
System.out.println(a2.compareTo(a3));//0
System.out.println(a2.compareTo(a4));//20248
System.out.println(a2.compareTo(a1));//2
System.out.println(a4.compareTo(a5));//-32
/**
结果为:
0
20248
2
-32
**/
4.compareToIgnoreCase()
他与equalsIgnoreCase()
相似,比较的是两个忽略字符串大小写的字符串。示例如下:
String a4 = "Hello";
String a5 = "hello";
System.out.println(a4.compareToIgnoreCase(a5));//0