1.equals()方法
可以使用equals()方法检测两个字符串是否相等。
String str1 = "Nev";
String str2 = "Nev";
System.out.println(str1.equals(str2));
结果:
true
equals()方法判断字符串是否相等是在意大小写的
如果想要不区分大小写来判断字符串大小,则可以:
2.equalslgnoreCase()方法
String str1 = "Nev";
String str2 = "nev";
System.out.println(str1.equalsIgnoreCase(str2));
结果:
true
但如果我们的目的不止于判断字符串是否相等,还要比较他们的大小时:
3. compareTo()方法
重点:对比机制是俩个字符串中的字符一对一,轮番比较!发现了不同字符就停止比较,返回被发现的对比字符的Ascii码差值
3.1字符串相同时,返回 0
String str1 = "Nev";
String str2 = "Nev";
System.out.println(str1.compareTo(str2));
结果:
0
3.2字符串不相同时,返回Ascii码差值
String str1 = "Nev";
String str2 = "neV";
System.out.println(str1.compareTo(str2));
结果:
-32 //N和n的Ascii码差值为-32
为什么会出现 -32 的结果呢?
因为compareTo()方法会让这俩个字符串从第一位字符开始,一对一轮番比较,如果遇到不同的字符,则会返回这两个字符的Ascii码值差值,并以int型返回
即当对比第一个字符N与n时,发现了不同的字符就不再比较后面的字符了,返回了字符N与n的Ascii码差值 -32
由于对比机制是一对一轮番比较,若轮番对比完,字符都相同,但长度不同时,则返回这俩个字符串长度的差值(可以是负数)
3.2.1字符串不相同,但对比部分相同时,返回字符串长度的差值
String str1 = "NevNev";
String str2 = "Nev";
System.out.println(str1.compareTo(str2));
结果:
3 //长度差值为3