字符串相关
目录
String 常用方法
StringBuilder 常用方法
小总结
字符串相关
String
java.lang
Serialization | CharSequence | CompareTo
常用方法 | _ | |
equals() | boolean | 比较字符串字面值是否相等 |
hashCode() | int | 返回此字符串的哈希码 |
compareTo() | int | 按字典顺序比较两个字符串 |
toString() | String | 返回字符串内容 |
2 | _ | _ |
charAt() | char | 返回index对应位置char值 |
codePointAt() | int | 返回index对应位置char值的code码 |
length() | int | 返回字符串长度 |
concat() | String | 拼接字符串 |
contains() | boolean | 判断给定s是否在字符串中存在 |
getBytes() | byte[] | 用默认字符集将String编码为字节序列, 存储到新的字节数组中 |
toCharArray() | char[] | 将此字符串转换为新的字符数组 |
indexOf() | int | 找寻给定元素在字符串中第一次出现的索引位置,若不存在则返回-1 |
lastIndexOf() | int | 找寻给定元素在字符串中最后一次出现的索引位置 |
replace() | String | 将给定的字符串替换成另外的字符串 |
replaceAll() | String | 同上,参数String更灵活 |
replaceFirst() | String | 换第一个出现的那个字符串 |
split() | String | 按照给定表达式将原来的字符串拆分 |
substring() | String | 截取字符串 |
matches() | boolean | 正则表达式 |
3 | _ | _ |
trim() | String | 去掉字符串前后多余的空格 |
toUpperCase() toLowerCase() | String | 将全部字符串转换成大写/小写 |
startsWith() endsWith() | boolean | 判断字符串是否以xx开头/结尾 |
isEmpty() | boolean | 判断当前字符串是否为空 |
字符串相关
StringBuilder
java.lang
Serialization | CharSequence | Appendable
独有方法 | _ | |
append() | StringBuilder | 拼接字符串(频繁拼接) |
insert() | StringBuilder | 将给定的value插入到index上。给定value(很多重载) |
delete() | StringBuilder | 删除此序列某个区间的字符串 |
deleteCharAt() | StringBuilder | 删除序列中某个索引位置的字符串 |
reverse() | StringBuilder | 调换字符串顺序(底层继承自AbstractStringBuilder的方法) |
= String | _ | _ |
charAt() | char | 返回指定索引位置字符的char值 |
codePointAt() codePointBefore() codePointCount() | int | 返回指定索引处(前/区间)的字符(Unicode) |
indexOf() | int | 找寻给定str在字符串中第一次出现的索引位置(可从指定位置开始找 |
lastIndexOf() | int | 找寻给定元素在字符串中最后一次出现的索引位置,若不存在则返回-1 |
replace() | StringBuilder | 替换序列中某个区间的字符串 |
substring() | String | 截取某个区间的字符串 |
length() | int | 返回长度(数组有效元素个数 |
3 | _ | _ |
ensureCapacity() | void | 确保容量至少等于规定的最小值 |
capacity() | int | 返回当前容量 |
setLength() | void | 设置字符序列的长度 |
trimToSize() | void | 去掉字符串前后多余的空格 |
setCharAt() | void | 指定索引处的字符集类型 |
小总结
String 相关
1. String 所属的包、继承关系、实现接口
String无继承关系,默认继承Object,实现三个接口。
2. String 对象内存结构
1. "a" 字符串常量区,new 堆内存对象
2. == 和 equals() 的区别
== 基本比值,引用比地址
equals() 重写了,比值
3. "a" + "b" + "c" + "d"
字符串常量池中产生7个String对象
3. String和StringBuilder 区别 | StringBuffer和StringBuilder 区别
String
1. JDK1.0
2. 不可变字符串
3. 有一个接口 Comparable
4. 有一些方法StringBuilder没有
StringBuilder
1. JDK1.5(后期版本)
2. 可变字符串
3. 有一个接口 Appendable
4. 有一些方法String没有
StringBuffer
JDK1.0(早期版本)
早期版本:线程同步,安全性较高,执行效率相对较低(synchronized)
后期版本:线程非同步,安全性较低,执行效率相对较高
备注: 内容不完全正确,单纯是写了简单的给自己好记,有错误欢迎指出_(:з)∠)_