一、String、StringBuilder和StringBuffer的区别
首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:
StringBuilder > StringBuffer > String
2. 再来说线程安全
String:适用于少量的字符串操作的情况
StringBuilder: 适用于"单线程",线程不安全的,字符缓冲区进行大量操作
StringBuffer: 适用于"多线程",线程安全的,字符缓冲区进行大量操作
二、常用的方法
String的常用方法:
① 获取字符串的长度(字符个数)
str.length();
② 去除当前字符串两边的空白字符
str.trim();
③ 将当前字符串中的英文部分给转换为全大写/全小写
str.toUpperCase();和str.toLowerCase();
④ 判断当前字符串是否是以给定字符串开始/结束的
str.startsWith();和str.endsWith();
⑤ 返回当前字符串指定位置上的字符----根据位置找字符
str.charAt();
⑥ 检索给定字符串在当前字符串中的开始/最后一次出现的位置
str.indexOf();和str.lastIndexOf();
⑦ 截取当前字符串中指定范围的字符串
str.substring();
⑧ 返回数组----根据指定符号分割字符串
str.split();
⑨ String的静态方法valueOf();将其它数据类型转换为String
String.valueOf();
⑩判断当前字符串中是否存在另一个字符串,存在则返回true
str.contains();
2. StringBuilder的常用方法(同StringBuffer的常用方法):
① 追加内容------------增
builder.append();
② 删除部分内容--------删
builder.delete();
③ 替换部分内容--------改
builder.replace();
④ 插入内容-------------插
builder.insert();
⑤ 删除指定位置的字符
builder.deleteCharAt