数字与字符串系列教材 (八)- Java 比较字符串详解
步骤1:是否是同一个对象
步骤2:是否是同一个对象-特例
步骤3:内容是否相同
步骤4:是否以子字符串开始或者结束
步骤5:练习-比较字符串
步骤6:答案-比较字符串
示例 1 : 是否是同一个对象
str1和str2的内容一定是一样的!
但是,并不是同一个字符串对象
package character; public class TestString { public static void main(String[] args) { String str1 = "the light" ; String str2 = new String(str1); //==用于判断是否是同一个字符串对象 System.out.println( str1 == str2); } } |
示例 2 : 是否是同一个对象-特例
str1 = "the light" ; str3 = "the light" ; |
一般说来,编译器每碰到一个字符串的字面值,就会创建一个新的对象
所以在第6行会创建了一个新的字符串"the light"
但是在第7行,编译器发现已经存在现成的"the light",那么就直接拿来使用,而没有进行重复创建
package character; public class TestString { public static void main(String[] args) { String str1 = "the light" ; String str3 = "the light" ; System.out.println( str1 == str3); } } |
示例 3 : 内容是否相同
使用equals进行字符串内容的比较,必须大小写一致
equalsIgnoreCase,忽略大小写判断内容是否一致
package character; public class TestString { public static void main(String[] args) { String str1 = "the light" ; String str2 = new String(str1); String str3 = str1.toUpperCase(); //==用于判断是否是同一个字符串对象 System.out.println( str1 == str2); System.out.println(str1.equals(str2)); //完全一样返回true System.out.println(str1.equals(str3)); //大小写不一样,返回false System.out.println(str1.equalsIgnoreCase(str3)); //忽略大小写的比较,返回true } } |
示例 4 : 是否以子字符串开始或者结束
startsWith //以...开始 endsWith //以...结束 |
package character; public class TestString { public static void main(String[] args) { String str1 = "the light" ; String start = "the" ; String end = "Ight" ; System.out.println(str1.startsWith(start)); //以...开始 System.out.println(str1.endsWith(end)); //以...结束 } } |
更多内容,点击了解: https://how2j.cn/k/number-string/number-string-compare/326.html