StringBuilder、String和StringBuilder的相互转换、StringBuffer和StringBuilder的区别、Date类、Calendar类

StringBuilder类

(二)构造方法

  1. 构造方法作用:创建当前对象、将其他类型的数据,转换成当前类型
  2. StringBuilder的构造方法:

  StringBuilder():创建一个生成器,初始容量为16个字符

StringBuilder(int capacity):创建一个生成器,初始容量为capacity大小

StringBuilder(String str):创建一个生成器,初始值就是str这些字符,初始大小是str+16

  1. 获取容积的方法:

capacity():获取当前生成器的容器大小

length():获取当前生成器中的字符个数

添加功能

  1. append(任意类型):可以将任意数据类型,转成字符,添加到生成器中
  2. insert(int index, 任意数据类型):可以将任意数据类型,添加到指定的位置

说明:1、index的范围是0~当前缓冲区的大小;2、插入数据之后,数据本身的索引就是参数中指定的index

删除功能

  1. deleteCharAt(int index) :删除指定索引的字符
  2. delete(int start, int end):删除指定范围的字符,被删除的部分包含头不包含尾

替换和反转功能

  1. replace(int start, int end ,String str):将字符串缓冲区中的从start开始到end-1这部分内容,替换成str
  2. 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) 在一个日期的年,月,日上添加对应的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曲靖花式通幽处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值