StringBuilder类
(二)构造方法
- 构造方法作用:创建当前对象、将其他类型的数据,转换成当前类型
- StringBuilder的构造方法:
StringBuilder():创建一个生成器,初始容量为16个字符
StringBuilder(int capacity):创建一个生成器,初始容量为capacity大小
StringBuilder(String str):创建一个生成器,初始值就是str这些字符,初始大小是str+16
- 获取容积的方法:
capacity():获取当前生成器的容器大小
length():获取当前生成器中的字符个数
添加功能
- append(任意类型):可以将任意数据类型,转成字符,添加到生成器中
- insert(int index, 任意数据类型):可以将任意数据类型,添加到指定的位置
说明:1、index的范围是0~当前缓冲区的大小;2、插入数据之后,数据本身的索引就是参数中指定的index
删除功能
- deleteCharAt(int index) :删除指定索引的字符
- delete(int start, int end):删除指定范围的字符,被删除的部分包含头不包含尾
替换和反转功能
- replace(int start, int end ,String str):将字符串缓冲区中的从start开始到end-1这部分内容,替换成str
- reverse():将原有字符序列进行反转
String和StringBuilder拼接字符串的区别
使用String类型拼接字符串:时间和空间上都非常浪费。
1、底层会创建一个StringBuilder的存储空间,大小为第一个字符串的长度+16(第一个对象)
2、将第一个字符串添加到缓冲区中
3、将第二个字符串添加到缓冲区中
4、将缓冲区对象转成字符串对象(创建了一个新的字符串对象)(第二个对象)
5、返回该字符串对象
使用StringBuilder拼接字符串:时间和空间上都非常节省,无论循环多少次,都只创建两个对象
1、创建一个新的StringBuilder的存储空间
2、在StringBuilder的基础上进行添加,不创建新的字符串
3、循环完成后,将StringBuilder转成String
String和StringBuilder的相互转换
String转成StringBuilder
1、StringBuilder的构造方法
2、append方法
StringBuilder转成String类型
1、toString的方法
2、使用String的构造方法
StringBuffer和StringBuilder的区别
相同点:
都是字符串的缓冲区,都是字符串的生成器,都是可变的字符序列
不同点:
1、出现版本不同:
StringBuffer在jdk1.0出现的
StringBuilder在jdk1.5出现的
2、线程安全性不同:
StringBuffer是线程安全的,在多线程环境下仍然保证数据安全
StringBuilder是线程不安全,在多线程环境下无法保证数据安全
3、效率不同:
StringBuffer效率低
StringBuilder效率高
Date类
常用的Date类的构造方法
1、new Date() 系统当前时间
2、new Date(3000) 创建一个距离1970-01-01 00:00:00 3000毫秒的时间。
其他构造方法都已过时
Date类常用方法
getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数
Date中的大部分方法都已过时,被Calendar类中的方法替代
SimpleDateFormat类
作用
对时间日期进行格式化处理
把Date对象转化为年月日时分秒格式字符串
把字符串转化为Date对象
创建SimpleDateFormat对象
SimpleDateFormat sdf = new SimpleDateFormat(“日期格式”);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); //HH表示24小时制
格式化
使用parse() 方法,将字符串转换成日期
使用format()方法,将日期转换成字符串
Calendar类
作用
由于Date类在设计上的一些缺陷,所以java提供了Calendar类来更好的处理时间和日期。
Calendar是一个抽象类,表示日历,不能直接实例化,通常使用getInstance() 方法来获取实例。
创建方式
Calendar calendar=Calendar.getInstance()
Calendar类的常用方法:
getTime() 返回Date类型时间
setTime(Date date) 设置时间到日历中
get(Calendar.YEAR/MONTH/DATE) 获取年份、月份、日
set(2015,11,11,12,11,10) 设置时间到日历中,月份从0到11
add(Calendar.YEAR/MONTH/DATE,2) 在一个日期的年,月,日上添加对应的值