一·String类:不可变长序列,可以直接用String str=”abc”;进行new对象,效率更高,对象不可以改变,可以进行共享
- 构造器:用于创建对象:String str2=new String(“nihao”);sout(str2);——底层源码是用hashcode,会进行创建两个对象,一个在常量池中,一个在堆内存中;但若分开进行写,将String s=”nihao”;放于之前进行编写,则在常量池中已经创建了对象,之后无须在进行创建,只需要在new对象进行创建,进行一次创建即可。
- 方法:toLowerCase();toUpperCase();大小写;subString:分割;split(“a”):将字符串按a进行拆分;indexOf:拿去第一次的索引;contains:是否包含该字符;charAt(5):返回指定索引的值;endWith(“j”):测试字符串是否是以j进行结尾的;compareTo:比较值,返回的值为int类型;replace:将q换为Q;contact:拼接字符
二·StringBuilder:可变的字符序列,线程不安全,不同步,效率高;StringBuffer:可变字符序列,线程安全,同步,效率高
·执行效率:StringBuilder>StringBuffer>String
- StringBuilder sb=new StringBuilder();构建一个字符串构造器,其中不包含任何字符,初始容量为16个字符,扩容时为原容量的2倍+2;
- StringBuilder中有一个特殊的方法:reserse();将字符串中的内容进行反转
三·基本数据类型的包装类
·Integer与Character
- 为什么提供包装类:包装类中提供的一些成员方法更加强大;类似容器中只能储存引用数据类型中的数据;基本数据类型与引用数据类型的默认值不同
- 为什么提供基本数据类型:有利于节省内存空间;可以使使用更加便捷
- 比较基本数据类型与引用数据类型:(前提:数据值相同)——两个new不同,不相等,因为地址不同;两个int值,值相同即可;int与integer,值相等即相等(因为integer会进行自动拆箱)成为int;一个integer,一个new integer,肯定不同(因为new的是堆内存的地址);两个integer,看[-128,127],在区间内值相等即相等;不在该范围内,返回的new Integer的地址不同
- 自动装箱:将基本数据类型转为引用;自动封箱:将引用数据类型转为基本
四·枚举类Enum——一种事务的所有可能,是一种类型的所有实例
- 使用Enum定义枚举
- 枚举类中的字段都作为当前枚举的实例存在,默认使用public static final修饰
- 枚举类可以根据需求定义成员,变量,方法,构造器……
- 枚举类的构造器默认是私有的
- 所有的枚举类默认的是隐士继承java.lang.Enum类型
五·Math类
六·Date日期类,属于java.util包下,精度可以确认到毫秒,可以表示特定的时间——String与date类型的互换,使用parse模板
- LocalDate:日期
- LocalTime:时间
- LocalDateTime:年月日时分秒
七·File类:文件目录的抽象的表现形式



