字符串类
1.String
不可被继承,不可变(底层用final修饰);可序列化,可比较大小(实现了Serializable和Comparable接口);
字面量定义的方式放在方法区的字符串常量池中,new的方式放在堆空间中,其中的value属性指向字符串常量池。
常量与常量的拼接在常量池中,否则在堆空间中;.inturn()用常量池中的字符串;加final的变量算常量。
常用方法:trim、replace、split、equalIgnoreCase、startWith、contains、indexOf、valueOf、matches、getBytes
2.StringBuffer与StringBuilder
两者都为可变的,默认扩容2倍+2,想避免扩容可以指定容量;StringBuffer是线程安全的,StringBuilder效率高
常用方法:append(注意:append(null)="null")、delete、replace、insert、reverse、substring
日期时间类
1.JDK1.8之前
System:currentTimeMills返回1970.1.1.0.0到现在的毫秒数
Data:分为Util.Date和sql.Date;Util.Date->sql.Date:sql.Date(Util.Date.getTime())
SimpleDateFormat:对Data类进行格式化(.format(date))和解析(.parse(str)),new的时候可以指定格式
Calender:getInstance、get、set、add、getTime、setTime
2.JDK1.8之后
优点:不可变、格式化、解决闰秒问题、解决偏移问题、线程安全
Instant:对应Date
DateTimeFormatter:对应SimpleDateFormat;ofPattern("")
LocalDate、LocalTime、LocalDateTime:对应Calender;now、of、get、with、plus、minus
比较器类
1.Comparable自然排序
实现Comparable接口->重写compareTo(obj)方法(注意:this>obj返回正数)
2.Comparator定制排序
实例化Comparator接口->重写compare方法
其他类
1.System
2.Math
3.BigInteger、BigDecimal
Java常用类
最新推荐文章于 2024-08-16 23:08:28 发布