1.什么是包装类?
概念:因为java是纯面向对象的,每个基本类型都有对应的包装类
装箱:基本类型转包装类
拆箱:包装类转基本类型
自动装箱和拆箱
自动装箱:基本类型赋值给包装类
自动拆箱:同上,其本质仍然进行了手动的装箱和拆箱;
包装类转String类
直接用字符串拼接符“+”或者使用toString
String类转包装类
包装类调parselnt、parseDouble等
需要注意:只有数字字符串才能转,否则会出现NumberFormatException
2.String类
概念:不可变字符串,调用任何方法,不会改变原对象的值
对象的创建
直接字符串赋值或new字符串对象
直接赋值在方法区创建的空间,字符串常量放在方法区的常量池中,只维护一份
new字符串对象在堆区创建的
常用的方法
转字符数组、求长度、去除左右空格、转大小写、以什么字符串开头、是否包含等
3.StringBuild和String(可变字符串)
概念:调用任何方法可以改变原对象的值
与String类的区别
操作不是很频繁,则使用String
操作频繁,则使用可变字符串,提高效率
常用方法
增删改查反转求长度
StringBuilder 和Stringbuffer区别
相同点:可变、常用方法一致
不同点:前者效率高,不安全;后者效率低,安全(加锁)
4.BigDecimal和BigInteger
BigDecimal比double更精确,传的参数一定是String类型的
操作:加减乘除
BigInteger
存储的值比整数值更大
5.Random和Math
Random专业求随机数,了解伪随机概念
应用案例:求一个范围的随机数
Math
数学的工具类,里面都是静态方法
可以求随机数、求绝对值、求平方等
6.日期类
Date日期类
实例化该对象,可以打印当前时期的格林威治时间
SimpleDateFormat日期格式类
可以对我们的日期类设置打印格式
Calendar日历类
取代Date,可以获取当前日期的年月日时分秒
常用方法:设置日期,获取日期,添加日期,获取毫秒值等
注意:不能直接实例化Calendar类,因为是一个抽象类
7.System类
系统类,可以获取系统的相关属性和操作
常用方法:获取当前时间、出发垃圾回收、退出等