皮皮安学Java第十六天

写在前面

不知道为什么,最近感觉自己越来越懒了,每天早上八九点才起床,晚上熬到凌晨。自己明明没有任何理由去熬夜,有的时候不知道在期待着什么,很多时候明明知道自己应该干什么,不应该干什么,刷抖音,打游戏,浪费了大把时光,可当时我明知道是错误的,可还是不愿意立马去做该做的事情,一拖再拖,知道必须去干为止。是累了?是睡眠不足?是吃不饱?不是吧。现在,我到底想要什么呢,自己的心思好像不太集中了,我最后要干什么?我...最后能去哪,我能干什么,我会和谁一起?我...我到底该怎么办?

今日所学

不变性

    字符串中的值,一旦确定,则不可修改。

               内存中的值不可修改。

常量池

      String常量:使用双引号直接创建的字符串,称为String常量,即字符常量。

      字符常量被存在内存的常量池中。

      常量池中不会被gc回收,即gc不会清理。

      多次出现相同的字符常量值,只会在常量池中创建一个String对象。

四、StringBuffer和StringBuilder

1.简介

     String是不可变字符串,不可修改。

             频繁对String进行修改时会在内存中产生出许多对象,垃圾数据。

             String类中提供许多“增删改”等操作方法。

             如果需要频繁对字符串进行修改操作,建议使用StringBuffer和StringBuilder,它们是可变字符串。

这两个类的API基本一致。

2.用法

append() 向末尾添加      a.append("aaa")
insert() 增加      a.insert(1,"ddd")
delete() 删除       a.delete(3,5)[3,5)
deleteCharAt() 删除单个字符   a.deleteCharAt(2)
setCharAt() 改     a.setCharAt(1,'x')
setLebgth() 截取    a.setLebgth(5)
reversed() 反转     a.reversed()
toString() 将StringBuffer转换String

3.区别

StringBufer

     线程安全(多个人同时访问一个字符串,不会出现问题)

     效率低

StringBuilder

    线程不安全 (多个人同时访问一个字符串,可能会出现问题)

    效率高

五、包装类

1.简介

     基本数据类型功能比较简单,不具有面向对象的特性

     Java中为每个数据类型都提供了一个对应的包装类,使其具有面向对象的特性。

基本数据类型 对立的包装类
byte Byte
int Integer
short Short
long Long
float Float
double Double
char Character
boolean Boolean

2.基本数据类型和包装类型的转换。

装箱和拆箱

     将基本数据类型转换为包装类,称为装箱。

     将包装类转换为基本数据类型,称为拆箱。

3.基本类型和String的转换

     拼接字符串:a+""
 

猜你喜欢

转载自blog.csdn.net/qq_46178251/article/details/106593330