处理字符串的常用方法
01 String、StringBuffer、StringBuilder 三者之间的区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) String 中的 String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[] ,String 对象是不可变的,也就可以理解为常量,线程安全。 AbstractStringBuilder 是 StringBuilder 与 StringBuffer 的公共父类,定义了 一些字符串的基本操作,如 expandCapacity、append、insert、indexOf 等公共方法。 StringBuffer 对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。 StringBuilder 并没有对方法进行加同步锁,所以是非线程安全的。 小结: (1)如果要操作少量的数据用 String; (2)多线程操作字符串缓冲区下操作大量数据用 StringBuffer; (3)单线程操作字符串缓冲区下操作大量数据用 StringBuilder。
02 String字符串处理的基本方法:
String concat(String str):对字符串进行拼接 boolean contains(String s):判断字符串中是否包含指定的内容。
boolean startsWith(String prefix):判断字符串是否以指定内容开头
boolean endsWith(String suffix):判断字符串是否以指定内容结尾。 int indexOf(String str) 在字符串中查找指定内容第一次出现的索引位置,如果没有找到,返回-1
int lastIndexOf(String str):在字符串中查找指定内容最后一次出现的索引,如果没有找到,返回-1 char[] toCharArray():将字符串转成一个字符数组并返回。 String toLowerCase():将字符串的内容全部转小写并返回。
String toUpperCase():将字符串的内容全部转大写并返回。 String trim():去除字符串的两边的空格,会将去除空格之后的结果返回给我们。 String[] split(String regex):对字符串根据指定内容进行切割,返回字符串数组
03 StringBuilder的的常用api
构造方法
创建 StringBuilder类的带有字符串“Hello”(长度为 5)的一个新实例 StringBuilder MyStringBuilder = new StringBuilder(“Hello World!”); 创建 StringBuilder类的带有字符串“Hello”(长度为 5)的一个新实例,同时可以指定该对象的最大容量为 25 StringBuilderMyStringBuilder = new StringBuilder(“Hello World!”, 25); 当修改 StringBuilder时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。
基本方法
append方法可用来将文本或对象的字符串表示形式添加到由当前 StringBuilder对象表示的字符串的结尾处 appendFormat方法将文本添加到 StringBuilder的结尾处,而且实现了 IFormattable接口,因此可接受格式化部分中描述的标准格式字符串。可以使用此方法来自定义变量的格式并将这些值追加到 StringBuilder的后面 .appendFormat("{0:C} ", MyInt); insert方法将字符串或对象添加到当前 StringBuilder中的指定位置。以下示例使用此方法将一个单词插入到 StringBuilder的第六个位置。 可以使用 delete方法从当前 StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。以下示例使用 Remove方法缩短 StringBuilder。 使用 replace方法,可以用另一个指定的字符来替换 StringBuilder对象内的字符。