一、String
(一)概述
1.String类型表示字符串,不需要导包
2.所有字符串字面值(如:"abc")都作为此类的实例实现
3.字符串字面值常量存储在方法区的常量池中
4.String类型表示的是字符串本身是一个常量,创建之后就无法修改了(不可变字符序列)
5.不可变的原因:String没有提供任何的set方法修改值
(二)构造方法
1.String():表示创建一个空字符串
2.String(byte[] bytes,int offset,int length):将byte数组的一部分转为字符串
3.String(char[] value,int offset,int count):将char数组的一部分转为字符串
4.String(String original):返回参数字符串的副本
5.可变字符序列
String(StringBuffer buffer):分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符
序列
String(StringBuilder builder):分配一个新的字符串,它包含字符串生成器参数中当前包含的字
符序列
6.总结:其它基本数据类型转为String类型
(三)常用方法
1.判断类型的方法
(1)equals(Object anObject):判断调用者字符串和参数字符串是否相同
(2)equalsIgnoreCase(String anotherString):忽略大小写判断调用者字符串和参数字符串是
否相同
(3)contains(String str):判断调用者字符串是否包含指定参数子串
(4)startsWith(String prefix):判断调用者字符串是否以参数字符串开头
(5)endsWith(String suffix):判断调用者字符串是否以参数字符串结尾
(6)isEmpty():判断是否是一个空串
2.获取功能的方法
(1)length():返回调用者字符串的长度
(2)charAt(int index):从调用者字符串上获取到指定索引的字符并返回
(3)substring(int beginIndex):从指定索引开始,截取调用者字符串的一部分,直到字符串结尾
(4)substring(int beginIndex,int endIndex):截取调用者字符串的一部分,范围
【beginIndex,endIndex)
(5)indexOf(int ch):顺序查找指定字符第一次出现的索引
(6)indexOf(int ch,int fromIndex):从指定位置开始顺序查找指定字符第一次出现的索引
(7)indexOf(String str):顺序查找指定字符串第一次出现的索引
(8)indexOf(String str,int fromIndex):从指定位置开始顺序查找指定字符串第一次出现的索
引
(9) lastIndexOf重载:和indexOf相反
3.转换功能的方法
(1)getBytes():将调用者字符串转为byte数组
(2)toCharArray():将调用者字符串转为char数组
(3)toUpperCase():将字符串全部转为大写
(4)toLowerCase():将字符串全部转为小写
(5)concat(String str):将参数字符串追加到调用者字符串结尾
(6)valueOf(int i):重载,都是静态方法,用于将其它数据类型转为String类型
4.分割功能的方法
split(String regex):将此字符串按照给定的正则表达式进行拆分为字符串数组
二、正则表达式
(一)概述
1.就是一个字符串
2.作用:不仅仅能表示一个字符串,还可以表示一类字符串,表示一类字符串的格式或者规则
3.好处:可以使用特别简单的代码,表示非常复杂的逻辑
4.坏处:很难写出正确的正则
(二)使用
matches(String regex):告知参数字符串是一个正则表达式
(三)字符类
1.普通的字符串也是一个正则表达式,但是只能表示自己
2.字符类:表示单个字符,使用符号【】,只要使用了【】,无论里面写多少内容,都表示单个字
符,只是允许出现范围内的字符一次
(四)数量词
1.字符类是能表示单个位置的字符,如果想要表示多个位置的字符,就需要配合数量词使用
2.数量词只能修饰左侧紧挨着的那一个位置的字符
三、final
1.关键字,不可更改的
2.可以修饰的内容:类、成员变量、成员方法
3.常量的标准定义格式:public static final int MAX=100;
四、System
1.用于描述系统资源的类型,不能创建对象,类中的方法都是静态的,使用类名进行调用
2.常用字段
(1)System.out:准备输出流,默认关键显示器
(2)System.in:标准输入流,默认关联键盘
(3)System.err:错误打印流,默认关键显示器,用于打印错误信息
3.常用方法
(1)currentTimeMillis():获取当前时间的毫秒值
(2)gc():运行垃圾回收器
五、Object
(一)概述
1.Object是所有类型的顶层父类,是所有类型的直接或者间接父类,所有类型都可以使用Object中
的方法
2.随意定义一个类型,不明确说明该类继承某个类,就会默认继承Object类
(二)常用方法
1.getClass():获取当前对象所属的类型
2.hashCode():根据对象的情况,计算出对象的哈希码值
3.toString():返回对象的字符串表示形式
4.重写的原则:不要返回地址值,需要返回属性值
(三)equals
1.equals(Object obj):用于比较两个对象是否相等
2.再Object类型中,比较的是两个对象的地址值是否相等
3.实际上,比较地址值没有什么意义,我们更希望比较属性值,这个时候就需要重写equals方法
(四)==和equals区别
1.共同点:都是用于比较数据是否相等的
2.不同点
(1)==是运算符,equals是方法
(2)比较的内容不同
==既可以比较基本数据类型,也可以比较引用数据类型
equals只能比较引用数据类型
(3)比较规则不同
==比较基本数据类型,比较值;比较引用数据类型,比较地址值;
equals重写前比较地址值,重写后比较属性值