Java SE--String类
·
一.String对象创建基本使用
public class Text {
public static void main(String[] args) {
//对象放在常量池里
String s1 ="123";
System.out.println(s1);
//对象放在堆区
String s2 =new String("456");
System.out.println(s2);
char[] s3={'7','8','9'};
String s4=new String(s3);
System.out.println(s4);
}
}
二.String类下的方法
1.字符串查找方法
1.1charAt(返回字符)

1.2index(从前往后找,返回下标)

举例:
public static void main(String[] args) {
String s="abcdef";
int ret =s.indexOf('a',2); //2下标后没有a所以返回-1
System.out.println(ret);
}
1.3 lastindex(从后往前找,返回下标)
举例:
public static void main(String[] args) {
String s="abcdef";
int ret =s.lastIndexOf('a',2); //由于从后找,下标为0
System.out.println(ret);
}
2.转化
2.1 value(字符串和数值之间的转化)--讲过
2.2 toUpperCase和toLowerCase大小写转化
举例:

3. toCharArray(字符串转数组)
public static void main(String[] args) {
String s1 ="hello";
//字符串转数组
char[] ret=s1.toCharArray();
System.out.println(Arrays.toString(ret));
//数组转字符串
String s3 =new String(ret);
System.out.println(s3);
}
3.split(字符串拆分)

举例:
public static void main(String[] args) {
String s1="name=lishi&age=18";
String[] s2 =s1.split("&");
for (String a:s2){
String[] ret=a.split("=");
for (String b:ret){
System.out.println(b);
}
}
}
注意:
1.字符 "|" "*" "+" 都得加上转义字符,前面加上"\\"
2.而如果是"\",那么就得写成"\\\\"
3.如果一个字符串中有多个分隔符,可以用 "|" 作为连字符
上述代码改进:
public static void main(String[] args) {
String s1="name=lishi&age=18";
String[] s2 =s1.split("&|=");
for (String a:s2){
System.out.println(a);
}
}
4.substring(字符串截取)

举例:
public static void main(String[] args) {
String s1 ="helloworld";
String s2=s1.substring(2,4); //不包括4下标
System.out.println(s2);
}
5.trim(取出字符串俩边的空白字符)

6.注意:
String类的这些方法都是创建新的对象来进行修改的,效率比较低,因此Java提供了StringBuilder、StringBuffer类(Java EE会讲),此类下的方法有String类下的许多方法,但都是在原字符进行修改,效率高,也提供了String类没有的方法
三.StringBuilder类
public static void main(String[] args) {
StringBuilder sb1 = new StringBuilder("hello");
StringBuilder sb2 = sb1;
// 追加:即尾插->字符、字符串、整形数字 //“abc”+"we"效率高很多
sb1.append(""); //hello
sb1.append("world");// hello world
sb1.append(123);// hello world123
System.out.println(sb1);// hello world123
System.out.println(sb1 == sb2); // true
System.out.println(sb1.charAt(0));// 获取0号位上的字符 h
System.out.println(sb1.length());// 获取字符串的有效长度14
sb1.setCharAt(0,'H'); // 设置任意位置的字符 Hello world123
sb1.insert(0, "Hello world!!!");// Hello world!!!Hello world123
System.out.println(sb1);
System.out.println(sb1.indexOf("Hello"));// 获取Hello第一次出现的位置
System.out.println(sb1.lastIndexOf("hello")); // 获取hello最后一次出现的位置
sb1.deleteCharAt(0);// 删除首字符
sb1.delete(0,5);// 删除[0,5)范围内的字符
String str = sb1.substring(0, 5);// 截取[0,5)区间中的字符以String的方式返回
System.out.println(str);
sb1.reverse();// 字符串逆转
str=sb1.toString();// 将StringBuffer以String的方式返回
System.out.println(str);
}
更多推荐
所有评论(0)