substring(), 获取子串,返回一个新的字符串。
charAt(intindex), 获取字符串固定位置的字符。
concat(), 连接字符串,内部重新创建了一个新的字符串返回。
join(), 使用特定的字符串连接字符串:String message = String.join("-", "Java", "is", "cool"); ret: "Java-is-cool"; 内部实现使用StringBuilder进行append操作。
split(), 分隔字符串
indexOf(),获取字符第一次出现在字符串中的位置
toUpcase(), 字符串变大写
toLowerCase(), 字符串变小写
matches(), 字符串匹配正则表达式
replace(), 替换字符串
contains(), 判断是否包含某一字符串
endWith(), 是否以参数开头
startWith(), 是否以参数结束
length(), 字符串长度
replaceAll(), 替换所有目标字符
replaceFirst(), 替换首次出现的目标字符串
toCharArray(), 获取字符串的char数组
lastIndexOf(), 获取固定字符最后一次出现在字符串中的位置
compareTo(), 比较字符串
getBytes(), 获取字符串对应的字节数组
(1)当给一个变量赋值String值的时候,会先去StringTable里面找,如果找到则直接赋值给该变量,如果没找到,则在StringTable里面添加一个改常量,然后返回给变量名。
(2)String a = new String(“abc”); 会在堆内存中创建一个“abc”的String对象;使用a.intern()方法,如果常量池中存在“abc”字符常量串,则直接返回常量池的对象;如果没有,则会将a的引用地址添加到StringTable中(jdk1.7和之后,1.6复制该对象到StringTable中),下次若使用 String b = “abc”, 去常量池中找,存在a对象的引用,则 b指向的是a的实例对象。
(3)StringTable 是类hashTable 的一个hash表;大小固定,不可扩展的。
(整理笔记待完善)
原文:https://www.cnblogs.com/qq-361807535/p/12598169.html