String补充
String类型的比较用equals,但是StringBuffer和StringBuilder是没有equals方法的,如果要调用,就必须对StringBuffer和StringBuilder进行转型,转为String类型再进行比较。
字符串的截取
substring:
String str = "0123456789";
String str1 = str.substring(2);// 23456789
String str2 = str.substring(3,6);// 345
查找是否存在子字符串
查找字符串中是否存在某子字符或某子字符串:contains
public static void main(String[] args) {
String str = "litiscool";
System.out.println(str.contains("cool"));
System.out.println(str.contains("q"));
}
查找子字符串的位置
查找是否存在子字符串并返回其位置: indexOf
public static void main(String[] args) {
String str = "litiscool";
System.out.println(str.indexOf("cool"));//返回c下标5
System.out.println(str.indexOf("q"));//返回-1
}
从指定位置开始寻找子字符串
public static void main(String[] args) {
String str = "litlilitlitlitlit";
System.out.println(str.indexOf("lit",3));//从3位置开始找lit,返回l下标5
System.out.println(str.lastIndexOf("lit",6));//从6位置开始往前找lit,返回l下标5
}
判断字符串的开始
判断是否以某字符或字符串开始:startsWith
public static void main(String[] args) {
String str = "litlilitlitlitlit";
str.startWith("lit");//判断str是否以lit开始
str.startsWith("lit",5);//判断5位置是否以lit开始
str.endsWith("lit");//判断是否以lit字符串结尾
字符串的替换
字符串替换:replace
public static void main(String[] args) {
String str = "litlilitlitlitlit";
System.out.println(str.replace("li", "QQ"));//找到str里所有的li改为QQ
System.out.println(str.replaceAll("li", "QQ"));//同上
System.out.println(str.replaceFirst("li", "Q"));//找到字符串里第一个li改为Q
}
字符串的拆分
字符串的拆分:split
public static void main(String[] args) {
String str = "litlilitlitlitlit";
System.out.println(Arrays.toString(str.split("l")));//通过 l 进行拆分,并删除 l 返回值为String[]类型,
//一些特殊的符号需要转义字符进行转义
System.out.println(Arrays.toString(str.split("l",2)));//分割为两段,只分割1次。
System.out.println(Arrays.toString(str.split("l|t")));//意为用l或t进行分割。
}
去掉开始和结尾的空格
trim():
public static void main(String[] args) {
String str = " l i t ";
System.out.println(str.trim());//l i t
}
大小写转换
public static void main(String[] args) {
String str = " lit lit ";
System.out.println(str.toUpperCase());
System.out.println(str.toLowerCase());
}
判断是否为空字符串
public static void main(String[] args) {
String str = "";
System.out.println(str.isEmpty());
}
字符串null
String str1 = null;
String str2 = "";
String str3 = “ ”;
此时str1里表示不存储任何东西,而str2里存储空的字符串,str3里存储的是有一个空格的字符串。