一、StringBuffer和StringBuilder类
因为String类创建对象后值不能发生改变,只要改变就会频繁的创建新的对象,导致资源消耗大,程序运行效率低。这个时候使用StringBuffer和StringBuilder就可以解决这个问题。
StringBuffer和StringBuilder
StringBuffer: 线程安全的可变字符序列。
StringBuilder: 线程不安全的可变字符序列。
线程安全:超市购物付钱和菜市场购物付钱,针对商家超市是安全的,菜市场的商家是不安全的。线程安全就是排队,不安全就是乱,一起上。
常用的方法:
1.append():在原字符串末尾追加字符串
2.insert():在指定位置插入线管的字符串内容
二、包装类
(将基本数据类型转为引用数据类型)
包装类注意事项:1、包装类创建的对象的值不能发生改变
2、所有的包装类都会用final修饰
记忆:除了int和char之外的6中基本数据类型对应的包装类都是直接将首字母改为大写
byte --àByte
short àShort
long àLong
floatàFloat
double àDouble
boolean àBoolean
int àInteger
char àCharacter
包装类中常用的方法:
XXValue():返回指定类型的数据
valueOf():将基本数据类型封装为引用数据类型
parseXX();将String类型数据转为对应的基本数据类型
String类型和基本数据类型之间可以进行互换:
由基本数据类型到String类型我们称之为格式化;String类提供的valueOf()
由String类型到基本数据类型我们称之为解析。 基本数据类型对应引用数据类型提供的parseXX()
包装类中的拆箱和装箱操作:
装箱:将基本数据类型转为引用数据类型
拆箱:将引用数据类型转为基本数据类型
备注:在JDK5.0之后能够实现自动拆装箱操作(得益于编译器中的预处理机制),之前都是手动的拆装箱。
三、日期类 Date
千年虫
位置:java.util.date
表示特定的时间,精确到毫秒。
Date类中的日期表现形式:
年:y
月:M 从0开始表示,也就是0表示1月
日:d
时:h(12小时制) H(24小时制)从0开始
分:m 从0开始
秒:s 从0开始
Date类由于千年虫问题,导致很多方法都已经过时,处理时间我们后面用Calendar抽象类来操作时间。Date类只用了几个方法
常用的两个方法:
getTime(): 返回自 1970 年 1 月 1 日 00:00:00到当前系统的毫秒数。
setTime(): 设置从1970年1月1日00:00:00开始添加的时间节点。
四、日期格式化 DateFormat
SimpleDateFormat来专门处理日期格式化的类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
格式化:format(); 将日期转为指定的文本
解析:parse(); 将文本格式日期转为日期
中国的时间显示方式为: 年 月 日 时 分 秒 2018年11月13日 15:54:50
年:yyyy
月:MM
日:dd
时:hh
分:mm
秒:ss
日期格式:yyyy-MM-dd hh:mm:ss
五、日历类 Calendar类
该类为一个抽象类,没有直接实现类,要获取当前系统时间,该类本身提供了一个getInstance方法获取。该类主要是操作时间字段。
Calendar c = Calendar.getInstance();
笔试题:month= 1 day=35 问具体的时间为多少?
常用方法:
1.add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量
field:日历字段
amount:为字段添加的日期或时间量。如果是正的则添加,负的则减去
2.get(): 返回给定日历字段的值。