1.文档注释:①单行( // ) ②多行( /* */ ) ③文档( /** */)文档注释一般建议写在类, 属性和方法上。
jdk API : 官方API文档 (Java SE 22 & JDK 22) (oracle.com)
2.字符串:①String 不可变字符串,String字符串一旦创建,其内容和长度就不能再被改变。
new一个新的对象一定是创建了一个新的对象。
②StringBuilder 可变字符串(StringBuffer--老)StringBuilder字符串对象创建后, 其内容和长度都可以改变。
3.String字符串:①使用构造器创建 ②直接双引号创建(双引号创建的对象会放在--常量区,并且内容一样的字符串里面只会有一份)
当使用构造器常见字符串对象时,一定会产生新的字符串对象
使用双引号包含的字符串,会优先在常量区中找,存在就返回找到的字符串对象,不存在会创建新对象
String不可变特性:String底层使用一个char[]存储字符串内容,同时这个字符数组是用final修饰的,final修饰的变量不能被改变(常量),因为final修饰,所以这个地址不能变,数组一旦创建长度不能变,所以String长度不能变。
4.正则表达式:用简单的符号组合表示更为复杂的字符串内容
-
a 要求字符串中包含一个字母a
-
ab
要求字符串中包含ab这样一组连续的字符 -
a|b
要求字符串中包含a或b字母 -
[^abcd]
要求字符串中包含abcd中至少一个 -
(ab)|(cd)
要求字符串中包ab或cd组合中的一个 -
[a-z]
-
[A-Z]
-
[0-9]
-
[a-zA-Z0-9]
-
\d
表示所有所有数字 [0-9] -
\w
表示所有字符 -
\s
表示空格 -
\D \W \S
表示除xx以外 -
.
表示所有符号 -
数量表示
-
a{2}
表示字符串中包含两个连续的a -
a{,3}
表示字符串中包含最多3个连续的a , a, aa , aaa -
a{1,}
表示字符串中包含至少1个连续的a -
a{1,3}
表示字符串中包含1到3个连续的a -
a+
表示字符串中至少包含1个连续的a -
a*
表示字符串中包含0或多个a -
a?
表示字符串中包含0或1个a
intern方法:将new创建的字符串移动到常量区
5.StringBuilder可变字符串
-
可变字符串有两个, StringBuilder 和 StringBuffer
-
两个类有相同的api
-
StringBuffer是一个早期版本的可变字符串,线程同步,安全性高,性能较低
-
StringBuilder是一个新版本的可变字符串,非线程同步,安全性较低,性能较高
只有一种创建手段,使用new + 构造方法
StringBuilder对外提供了可以直接更改字符数组内容的方法(append , insert , delete)
6.String字符串的连接方法
①.使用 + 连接两个字符串 ②.使用concat方法连接两个字符串
-
当需要一次性大量的连接多个字符串时,建议使用+号连接
-
当只需要连接两个字符串时,建议使用concat方法连接