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

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章