Java零基础学习-----JAVA核心类库(上)(三)

正则表达式

 

正则表达式概念:

正则表达式本质就是一个“规则字符串”,可以用于对字符串数据的格式进行验证,以及匹配、查

找、替换等操作。该字符串通常使用^运算符作为开头标志,使用$运算符作为结尾标志,当然也可以省

略。

 

正则表达式规则:

 

 

正则表达式规则:

 

 

可变字符串类

 

可变字符串类的基本概念

1.由于String类描述的字符串内容是个常量不可改变,当需要在java代码中描述大量类似的字符串是,只能单独申请和存储,此时会造成内存空间的浪费。

2.为了解决上述问题,可以使用java.lang.StringBuilder类和java.lang.StringBuffer类来描述字符序列可以改变的字符串,如‘ab’.

3.StringBuffer是从jdk1.0开始存在,属于线程安全的类,因此效率比较低

4.StringBuilder是从jdk1.5开始存在,属于非线程安全的类,效率比较高

 

 

StringBuilder类常用的构造方法

StringBuilder类常用的成员方法

注意:

作为参数传递的话,方法内部String不会改变其值,StringBuffffer和StringBuilder会改变其值。

 

StringBuilder类扩容算法的源码解析

 

 

 

 

底层采用byte数组来存储所有字符内容。

 

 

 

//使用for循环删除多个字符

for(int i=8;i<12;i++){

//由结果可知:删除一个字符就跳过一个字符继续删除,因为每当删除一个字符后后面 的字符会向前补位,因为下标会发生变化

//Sb.deleteCharAt(i);

解决办法:

//始终删除下标为8的元素

Sb.deleteCharAt(8);

}

 

字符串类的笔试考点:

 

考点一:既然StringBuilder类的对象本身可以修改,那么为什么成员方法还有返回值呢?

解释:为了连续调用

例:Sb3.revese().append("1").insert(0,"e");

 

 

返回值的设计

 

 

考点二:如何实现StringBuilder类型和String类型之间的转换呢?

解释:

String str=sb3.toString();

StringBuilder sb5=new StringBuilder(str3);

 

考点三:

String,StringBuilder,StringBuffer谁的效率最高。

解释:String<StringBuffer<StringBuilder

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forrest Gump plus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值