String类
1、String类的常用方法
1.1 字符串长度
-
public int length():返回字符串长度。
package Demo05; public class TestString { public static void main(String[] args) { String str = "woshiguhuo"; System.out.println(str.length()); // 10 } }
1.2 根据下标获取字符。
-
public char charAt(int index):依据下标获取字符。
package Demo05; public class TestString { public static void main(String[] args) { String str = "woshiguhuo"; char[] strArrays = new char[str.length()]; for (int i = 0; i < strArrays.length; i++) { strArrays[i] = str.charAt(i); } System.out.println(strArrays); // woshiguhuo } }
1.3 判断当前字符串中是否包含str
-
public boolean contains(String str):判断当前字符串中是否包含str。
package Demo05; public class TestString { public static void main(String[] args) { String str = "woshiguhuo"; if (str.contains("guhuo")) { System.out.println("guhuo is contained!"); // guhuo is contained! } else { System.out.println("guhuo is not contained"); } } }
1.4 将字符串转化为字符串数组
- public char[] toCharArray():将字符串转化为字符串数组。
package Demo05;
public class TestString {
public static void main(String[] args) {
String str = "woshiguhuo";
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
System.out.print(charArray[i]+" ");
/**
* w o s h i g u h u o
* */
}
}
}
1.5 查找str首次出现的下标
-
public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1;
package Demo05; public class TestString { public static void main(String[] args) { String str = "woshiguhuo"; System.out.println(str.indexOf("wo")); System.out.println(str.indexOf("shi")); System.out.println(str.indexOf("guhuo")); } } /** * 0 * 2 * 5 * */
1.6 查找字符串在当前字符串中最后一次出现的下标索引
- public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引
package Demo05;
public class TestString {
public static void main(String[] args) {
String str = "woshiguhuo";
System.out.println(str.lastIndexOf("wo"));
System.out.println(str.lastIndexOf("shi"));
System.out.println(str.lastIndexOf("guhuo"));
}
}
/**
* 0
* 2
* 5
* */
1.7 去掉字符串前后的空格
- public String trim():去掉字符串前后的空格。
package Demo05;
public class TestString {
public static void main(String[] args) {
String str = " woshiguhuo ";
System.out.println(str.trim()); // woshiguhuo
}
}
1.8 将小写转成大写
-
public String toUpperCase():将小写转成大写.
package Demo05; import java.util.Locale; public class TestString { public static void main(String[] args) { String str = "woshiguhuo"; String str1 = str.toUpperCase(); System.out.println(str1); // WOSHIGUHUO System.out.println(str1.toLowerCase()); // woshiguhuo } }
1.9 判断字符串是否以str结尾
-
public boolean endsWith(String str):判断字符串是否以str结尾。
package Demo05; public class TestString { public static void main(String[] args) { String str = "woshiguhuo"; if (str.endsWith("guhuo")) { System.out.println("str end with guhuo"); // str end with guhuo } else { System.out.println("str end without guhuo"); } } }
1.10 将旧字符串替换成新字符串
- public String replace(char oldChar, char newChar);
package Demo05;
public class TestString {
public static void main(String[] args) {
String str = "woshiguhuo";
String str1 = str.replace("guhuo","mazi");
System.out.println(str1); // woshimazi
}
}
1.11、根据str做拆分
-
public String[] split(String str):根据str做拆分。
package Demo05; public class TestString { public static void main(String[] args) { String str = "wo shi gu huo"; String[] chars = str.split(" "); for (int i = 0; i < chars.length; i++) { System.out.print(chars[i]+"/"); //wo/shi/gu/huo/ } } }
可变字符串类
StringBuffer和StringBuilder之间的区别:前者线程安全,后者线程不安全;前者效率低,后者效率高。
1. 定义
package Demo05;
public class testStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer();
StringBuilder stringBuilder = new StringBuilder();
}
}
2.增
append()
package Demo05;
public class testStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("woshi");
StringBuilder stringBuilder = new StringBuilder("nishi");
stringBuffer.append("guhuo");
stringBuilder.append("mazi");
System.out.println(stringBuffer); // woshiguhuo
System.out.println(stringBuilder); // nishimazi
}
}
insert(int index, str String)
package Demo05;
public class testStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("woshi");
StringBuilder stringBuilder = new StringBuilder("nishi");
stringBuffer.append("guhuo");
stringBuilder.append("mazi");
stringBuffer.insert(0,"dajiahao!");
stringBuilder.insert(9,"!");
System.out.println(stringBuffer); // dajiahao!woshiguhuo
System.out.println(stringBuilder); // nishimazi!
}
}
3.删
delet(int startIndx,int endIndex)和deleteCharAt(int Index)
package Demo05;
public class testStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("woshi");
StringBuilder stringBuilder = new StringBuilder("nishi");
stringBuffer.append("guhuo");
stringBuilder.append("mazi");
stringBuffer.insert(0,"dajiahao!");
stringBuilder.insert(9,"!");
stringBuffer.delete(0,5);
stringBuilder.deleteCharAt(9);
System.out.println(stringBuffer); // hao!woshiguhuo
System.out.println(stringBuilder); // nishimazi
}
}
4.改
replace的endIndex是在其后一位!!!
package Demo05;
public class testStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("woshi");
StringBuilder stringBuilder = new StringBuilder("nishi");
stringBuffer.replace(0,2,"ni"); // 注:endIndex是在其后一位!!!
stringBuilder.replace(0,2,"wo");
System.out.println(stringBuffer); // nishi
System.out.println(stringBuilder); // woshi
}
}
5.转换为字符串
toString()
package Demo05;
public class testStringBuffer {
public static void main(String[] args) {
StringBuffer stringBuffer = new StringBuffer("woshi");
StringBuilder stringBuilder = new StringBuilder("nishi");
System.out.println(stringBuffer.toString().getClass()); // class java.lang.String
System.out.println(stringBuilder.toString().getClass()); // class java.lang.String
}
}