Java基础篇--工具类之String、StringBuffer、StringBuilder

String

String类继承了object类,用来描述字符串。Java中定义了String类用来处理字符串,并提供了一系列操作字符串的方法,他们都封装在java.lang包中,因此不需要导入包就可以直接使用。
String类使用了final修饰符,表示该类不可以被重写。

在这里插入图片描述
String 类常用方法

方法 返回值类型 描述
length() int 返回字符串的长度
charAt(int index) char 返回index位置处的字符
substring(int beginIndex) String 返回从beginindex位置开始截取直到该字符串末尾
substring(int beginIndex,int endIndex) String 返回从beginindex位置开始截取直到endIndex-1位置的字串
concat(String str) String 连接字符串
indexOf(String str) int 查找匹配某字符串第一次出现的位置
replace(CharSequence old,CharSequence new) String 字符串替换
contains(CharSequence s) Boolean 是否包含该字符串
split(String regex) String[] 字符串分割
isEmpty() Boolean 判断字符串是否为空,当字符串长度为0时返回true
trim() String 返回去掉字符串两端空格的新字符串
toLowerCase() String 将字符串转换为小写
toUpperCase() String 将字符串转换为大写
euqals(Object object) boolean 比较是否相等

字符串分割

String str = “上,中,下”;
String[] aa = str.split(“,”);
for(int i = 0; i<aa.length;i++){
	System.out.println(aa[i]);
	}

运行结果:

上
中
下

去除空格

String str = “  A BB C D”;
String str1 = str.trim();
System.out.println(“去除首尾空格:”+str1);
String str2 = str.replace(“ ”,””);
System.out.println(“去除所有空格:”+str2);
String str3 = str.replaceAll(“+”,””);
System.out.println(“去除所有空格:”+str3);

处理字符串中单个字符
1、借助toCharArray()和for-each

String s = “ABCDEFGHIJKLMN”;
for(char ch:s.toCharArray())
System.out.print(ch+” ”);

2、借助charAt和for循环

String s = “ABCDEFGHIJKLMN”;
for(int i=0;i<s.length();i++)
System.out.print(s.charAt(i)+” ”);

StringBuffer

在这里插入图片描述

StringBuffer和String不同的是,StringBuffer类是对对象自身进行操作,而String类会自动创建新的对象。
StringBuffer类的常用方法

方法 返回值类型 描述
append(任何类型参数) StringBuffer 添加内容
insert(int offset,任何类型参数) StringBuffer 任意位置插入内容
reverse() StringBuffer 字符串反转
replace(int start,int end,String str) StringBuffer 指定部分替换
subSequence(int start,int end) charSequence 返回截取的字符串,返回类型可以转换
delete(int start,int end) StringBuffer 删除指定部分内容
indexOf(String str) int 返回查找的字符串第一次出现的位置
euqals(Object object) boolean 比较是否相等

StringBuilder类

在这里插入图片描述 StringBuilder类是由java SE5引入的,也是表示字符串的类,它与StringBuffer类类似,但是他们有一个重要的区别,StringBuffer是同步的,意味着它是线程安全的,通常用于多线程;而StringBuilder不是同步的,意味着它是线程不安全的,通常用于单线程。 StringBuffer和StringBuilder的API是兼容的,在单线程程序中StringBuilder用来替换StringBuffer具有更高的效率。