equals
使用说明:
用于字符串之间内容是否相同的比较,相同为true,否则为false,是区分大小写的。
注意:对象不能为null(参数允许为null),否则会报空指针异常。所以要保证调equals方法的字符串对象不能为null。
API源码:
示例代码:
public class EqualsDemo {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "hello";
// 结果:false
System.out.println(str1.equals(str2));
String str3 = null;
// 结果:false
System.out.println(str1.equals(str3));
// 结果:报错为java.lang.NullPointerException
System.out.println(str3.equals(str1));
}
}
equalsIgnoreCase
使用说明:
如果在比较两个字符串是否相等时,不需要校验大小写是否相等,则可以使用此方法进行判断,相比于equals方法,此方法不区分大小写。
注意:调用方法的字符串不能为null,方法的参数可以为null。
示例代码:
public class EqualsIgnoreCaseDemo {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "hello";
// 结果:false
System.out.println(str1.equals(str2));
// 结果:true
System.out.println(str1.equalsIgnoreCase(str2));
}
}
compareTo
使用说明:
用于两个字符串之间的内容比较,比较基于字符串中每个字符的Unicode值,将String对象表示的字符序列与参数字符串表示的字符序列就行比较,如果String对象在字典中位于参数字符串之前,则结果为负整数,如果位于参数字符串之后则为正整数,否则相等则结果为0。
简单描述:
对象字符串小于参数字符串,则结果为负整数;对象字符串大于参数字符串,则结果为正整数;对象字符串等于参数字符串,则结果为0。
声明:对比是根据字符串中的字符所在ASCII编码表的大小。
示例代码:
public class CompareToDemo {
public static void main(String[] args) {
String str1 = "100";
String str2 = "666";
String str3 = "666";
// 结果:-5
System.out.println(str1.compareTo(str2));
// 结果:5
System.out.println(str2.compareTo(str1));
// 结果:0
System.out.println(str2.compareTo(str3));
}
}
contains
使用说明:
判断该String对象中是否包含参数中的字符串,包含则返回true,否则返回false(此判断严格区分大小写)。
源码:
示例代码:
public class ContainsDemo {
public static void main(String[] args) {
String targetStr = "Hello World!";
System.out.println(targetStr.contains("Hello"));//true
System.out.println(targetStr.contains("hello"));//false,判断是区分大小写的
System.out.println(targetStr.contains("Hello2"));//false,字符串对象必须完全包含参数字符串才为true
}
}
join
使用说明:
使用参数1定义的元素拼接参数2集合中的元素,返回一个新的字符串。
源码:
示例代码:
public class JoinDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("天时");
list.add("地利");
list.add("人和");
String joinStr = String.join(",", list);
// 结果:天时,地利,人和
System.out.println(joinStr);
}
}