1)StringBuilder可变长度字节符
1.什么是可变长度字节符串:
StringBuilder类在java.lang包下,该类维护一个可变长度的字节串
它本身并不是字符串,二十提供维护字符串功能的API
2.为什么需要StringBuilder:
因为StringBuilder类型对象不可变,在频繁修改时性能低下,内存开销大
所有在频繁修改字符串时,需要避免使用String类型
3.StringBuilder操作字符串:
java.lang.StringBuilder
该类内部维护一个可变的字符数组,修改都在这里进行,因此解决了字符串修改带来的问题
注:StringBuilder本身不是字符串,只是用来修改字符串的API,提供了修改字符串的操作,增删改
插
2)正则表达式
1.什么是正则表达式:
正则表达式能够描述字符串的格式
通常用于验证字符串内容
正则表达式并不是java语言的内容,而是独立于编程语言的体系
2.为什么需要正则表达式:
在人机信息互动时,可以让计算机验证用户输入的内容是否匹配
比如Email 手机号 身份证号等
3.正则表达式字符说明
正则表达式 说明
[abc] a,b,c中任意一个字符
[^abc] 除了a,b,c的任意字符
[a-z] a,b,c,...........,z中的任意一个字符
[a-zA-Z0-9] a~z,A-Z,0~9中的任意一个字符
[a-z&&[^bc]] a~z中除了b和c以外的任意一个字符,其中&&表示“与”的关系
. 任意一个字符
\d 任意一个数字字符,相当于[0-9]
\w 单词字符,相当于[0-9]
\s 空白字符,相当于[\t\n\x\x0B\f\r]
\D 非数字字符
\W 非单词字符
\S 非空白字符
X? 表示0个或1个X
X* 表示0个或任意多个X
X+ 表示1个到任意多个X(大于等于1个X)
X{n} 表示n个X
X{n,} 表示n个到任意多个X(大于等于n个X)
X{n,m} 表示n个到m个X
4.正则验证Email:
字符串支持正则表达式方法一:
boolean matches(String regex)
使用给定的正则表达式验证当前字符串的格式,匹配通过则返回true或false
5.正则拆分字符串:
String支持正则表达式方法二:
String[]split(String regex)
将当前字符串按照满足正则表达式的部分进行拆分
6.正则替换字符串
String支持正则表达式方法三:
String replaceAll(String regex,String str)
将当前字符串中满足正则表达式的部分替换为给定的内容
3)Object类
1.什么是Object类:
Object类是Java中所有类的父类
我们编写的类弱国不继承任何类,那么默认继承Object
2.为什么需要Object类:
Object类承载了java中所有类的共性内容
为Java程序提供了最基本的结构支撑
是所有类的根类
3. 重写toStringf和equals方法:
Object类中的方法并不能针对子类编写、
子类中可以重写超类方法
那么我们编写的类也可以重写Object类中的方法,以达到我们期望的业务或功能
对Object类中的toString和equals方法重写是比较常见的
3)包装类
1.什么是包装类:
每个基本数据类型对应一个包装类
包装类对象就是基本数据类型的对象形式
基本类型 基本类型 父类
int java.lang.Integer
long java.lang.Long
double java.lang.Double
short java.lang.Short
float java.lang.Float
byte java.lang.Byte
char java.lang.Character
boolean java.lang.Boolean
2.为什么需要包装类:
基本数据类型不能直接参与引用类型的使用或计算
使用包装类将基本数据类型转换为引用类型,可以参与到其他引用类型的使用
3.包装类的使用:
包装类是为了解决基本类型不能直接参与面向对象开发问题而产生的,使得基本类型可以对
对象的形式存在
包装类复制
4.自动拆装箱:
似的编译器在编译期间不充代码完成基本类型与对应的包装类之间转换的代码,使得我们在编
写源代码时可以在基本类型与引用类型之间直接赋值