Java字符串

String

String 类是不可变类,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可变的,直至这个对象被摧毁。

StringBuffer

StringBuffer 对象则代表一个字符序列可变的字符串,当一个 StringBuffer 被创建以后,通过 StringBuffer 提供的 append、insert、reverse、setCharAt、setLength 等方法可以改变这个字符串对象的字符序列。最后,可以通过 toString 方法将其转化为一个 String 对象。

  • StringBuffer 的 capacity
    capacity的作用是查看StringBuffer的容器容量是多少。从源码可以得知
 public StringBuffer() {
        super(16);
    }

如果直接是new StringBuffer(),则capacity为16。如果小于16则默认容器的大小为16。如果大于16则会调用expandCapacity 函数进行容量的扩展。由源码可以看到扩展的规则是把旧的容量(value的长度)*2+2。

StringBuilder

JDK1.5 又新增了 StringBuilder 类。与 StringBuffer 不同的是,StringBuffer 是线程安全的。

字符串常量池

字符串常量池

strnull、str.length0 以及 str.equals("") 之间的区别

正则表达式

正则表达式式强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。

  • boolean matches(String regex):判断该字符串是否匹配正则表达式
创建正则表达式

正则表达式就是一个字符串模板,可以匹配一批字符串,所以创建正则表达式就是创建一个特殊的字符串。

特殊字符说明
*指定前面子表达式可以出现0次或多次
+指定前面子表达式可以出现一次或多次
指定前面子表达式可以出现0次或1次
\用于转义下一个字符,或指定八进制十六进制字符
特殊字符说明
.可以匹配任意字符
\d匹配0~9的所有字符
\D匹配非数字
\s匹配所有空白字符
\S匹配所有非空白字符
\w匹配所有单词字符
\W匹配所有非单词字符

上面的很好记忆,d 是 digit ,代表数字;s 是 space ,代表空白;
w 是 word 代表单词。大写恰好与之匹配相反的字符。

方括号表达式说明
表示枚举[abc]
表示范围:-[a-c]
表示求否:^
表示与运算
表示并运算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值