一、String比较方法
Java中String类型的比较有多种方式,常见的有“==”和equals()方法。其中“==”用于比较两个字符串是否是同一个对象,而equals()方法则用于比较两个字符串的值是否相等。
//示例代码1 String str1 = "hello"; String str2 = "hello"; String str3 = new String("hello"); System.out.println(str1 == str2); //true System.out.println(str1 == str3); //false System.out.println(str1.equals(str3)); //true
在示例代码1中,首先定义了三个字符串类型的变量,其中str1和str2的值相同,都是"hello",而str3则是通过new关键字新建的一个字符串对象,其值也为"hello"。在比较str1和str2时,使用“==”判断它们所引用的对象是否是同一个对象,因为都是指向常量池中同一个字符串对象,所以结果为true;而str1和str3指向的是不同的对象,所以比较结果为false。而使用equals()方法比较str1和str3的值时,结果为true。
二、String比较函数的常用方法
除了“==”和equals()方法外,String类型还提供了一些其他的比较方法,如compareTo()、equalsIgnoreCase()等,下面分别进行介绍。
1. compareTo()
compareTo()方法用于比较两个字符串的大小关系,如果当前字符串小于目标字符串,则返回负数;如果当前字符串等于目标字符串,则返回0;如果当前字符串大于目标字符串,则返回正数。
//示例代码2 String str1 = "aaa"; String str2 = "ab"; String str3 = "AA"; System.out.println(str1.compareTo(str2)); //-1 System.out.println(str2.compareTo(str1)); //1 System.out.println(str1.compareTo(str1)); //0 System.out.println(str1.compareToIgnoreCase(str3)); //32
在示例代码2中,比较了str1和str2以及str1和str1本身的大小关系,结果分别为-1和0。另外,比较str1和str3时使用了compareToIgnoreCase()方法,它与compareTo()方法的功能相似,但会忽略大小写。
2. equalsIgnoreCase()
equalsIgnoreCase()方法用于忽略大小写比较两个字符串是否相等。
//示例代码3 String str1 = "hello"; String str2 = "HeLLo"; System.out.println(str1.equalsIgnoreCase(str2)); //true
在示例代码3中,比较了两个字符串"hello"和"HeLLo",因为equalsIgnoreCase()方法忽略大小写,所以返回true。
3. contains()
contains()方法用于判断当前字符串是否包含指定的子字符串。
//示例代码4 String str1 = "hello"; String str2 = "ell"; System.out.println(str1.contains(str2)); //true
在示例代码4中,使用contains()方法判断了字符串"hello"是否包含子字符串"ell",结果为true。
4. startsWith()
startsWith()方法用于判断当前字符串是否以指定的子字符串开头。
//示例代码5 String str1 = "hello"; String str2 = "he"; System.out.println(str1.startsWith(str2)); //true
在示例代码5中,使用startsWith()方法判断了字符串"hello"是否以子字符串"he"开头,结果为true。
5. endsWith()
endsWith()方法用于判断当前字符串是否以指定的子字符串结尾。
//示例代码6 String str1 = "hello"; String str2 = "lo"; System.out.println(str1.endsWith(str2)); //true
在示例代码6中,使用endsWith()方法判断了字符串"hello"是否以子字符串"lo"结尾,结果为true。
三、总结
String类型在Java中是经常使用到的一种数据类型,在比较字符串时常用的比较方法有“==”和equals()方法,要根据实际情况选择使用。另外,String类型还提供了很多其他的比较方法,如compareTo()、equalsIgnoreCase()、contains()、startsWith()和endsWith()等,要根据实际需求选择使用。