2021年10月18日

今天学习的内容是:

java.lang.String 是字符串类
它的底层就是一个字符数组,所以它的很多特性就是数组的特性
         1 字符串一旦创建,这个字符串对象不能更改
         2 字符串需要使用 "" 双引号表示
         3 为了提高字符串访问效率,提出了一个缓存机制,字符串常量池

因为String一旦创建,字符串对象不可更改,
 所以尽量不要使用String进行大量的字符串拼接操作

  1 StringBuffer 和 StringBuilder是什么?
             是一个可变的字符串缓冲区,适合做拼接操作
             底层也是char数组,只不过默认长度是16,而字符串内容多少长度就是多少
  2 原理
              先定义好长度,以容纳更多字符
             如果预留的空间长度不够,会进行自动扩容
             默认长度为16,扩大容量为 (当前容量+1) * 2 , 16  -> 34 -> 70  
  3  StringBuffer 和 StringBuilder 区别
             StringBuilder : 非线程安全,在多线程环境下使用,可能出现问题,所以常用于方法中
             StringBuffer : 线程安全,在多线程环境下使用,不会出现问题,所以常用于类中 

包装类 : 封装了基本数据类型的一些操作,更加方便使用
 java中有8中基本数据类型
         byte          java.lang.Byte
        short          java.lang.Short
         int             java.lang.Integer
         long         java.lang.Long
         float          java.lang.Float
        double         java.lang.Double
        boolean      java.lang.Boolean
        char             java.lang.Character

 java1.5开始,引入了自动装箱和自动拆箱    
  自动装箱 : 把 基本类型 自动转换为对应的封装类类型 就是自动装箱 
 自动拆箱 : 把 包装类类型 自动转换为对应的基本类型 就是自动拆箱
 装箱和拆箱是在编译阶段完成的

 深入理解自动装箱和自动拆卸
          1 都是编译的操作,和运行无关
          2 装箱的时候 在编译时 会把赋值操作转换为 Integer.valueOf(222);
 String 还有八种封装类 都覆写了 equals,hashCode,toString方法
 整型常量池 : 其实就是一个Integer数组 , 提前创建好256个Integer对象,放到数组中
         范围是 -128~127  
         当我们在进行valueOf() 的时候,先判断这个值是否在 -128~127之间,如果在 直接返回数组对应的Integer对象,不需要再次创建

new SimpleDateFormat(时间格式) : 创建格式化对象并指定格式
 
 public String format(Date date) : 把指定时间按照固定格式进行转换,并返回该时间格式的字符串
 
 public Date parse(String strTime) : 把时间格式的字符串,按照对应的格式转换为 Date对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

让火车在天上飞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值