字符串(StringBuider/StringJoiner)

String以及两种创建方法

String的对象创建之后不能被改变。

        我们创建了两个字符串变量并进行打印;在这里一共有三个字符串;1.name  2.love  3.控制台输出的字符串。(这也是String的一个弊端)。

简而言之就是字符串拼接形成了一个新的字符串。

直接赋值创建:

我们以    String    变量名    =    内容  直接进行创建   

如果两个变量名称不同但是内容相同时

    

         运行方法后 代码走到第一行的时候。会根据一个地址值在堆区里的StringTable(串池)找到字符串,当走完第二行代码时还是用同样的地址去堆区里的StringTable(串池)找字符串。我们把这种现象称之为(复用)。

        小结:当我们使用双引号直接赋值的时候,系统会检查字符串在串池是否存在。

                   不存在:创建新的。

                    存在:直接复用。

New创建

        这种情况不会有复用的出现,s1,s2分别的到一个地址去得到abc,所以我们一般都会使用第一种方法。

字符串的比较:

     ==

首先进行比较我们肯定会想到==。

但是==对于基本数据类型会直接比较数值。

         引用数据类型会比较地址值。

        这就是s1和s2的数据都是字符串“abc”;但是返回值是false的原因。

   eauals方法

    所以为了更好的比较,我们要了解可以直接比较数据的equqls方法

           equals的返回值是布尔类型,如果数据相同则返回true 反之返回false

           equalsIgnoreCase 则忽略英文的大小写进行比较。

举个栗子就会更好的了解

StringBuilder

String的劣势  先看代码

        这个字符串的拼接,每循环一次都要创建一个新的字符串(因为自串创建以后就是不可变的),非常的麻烦,并且占用内存,而我们所理解的拼接就是一个字符串从一个a  一直到十一个a。所以我们引入StringBuider。

      StringBuider可以看作为一个容器,创建以后是可变的。所以在拼接的时候不需要创建新的字符串来接收。最终目的就是提升代码的运行效率。

两种创建方法:

StringBuilder的四种常见方法。

append()

直接添加,并返回对象本身

注意此时s1不是字符串而是StringBuilder,在我们打印的时候自动帮我们转换为字符串

toString()

我们对上述代码进行改进。使用toString变得更加规范

length()

对字符串内的字符的个数进行计算返回int类型

severse()

reverse()方法可以把字符串反转,返回类型依旧是StringBuilder

StrinJoiner

两种创建方法

三种成员变量add()只能添加字符串;

                     toString()转化为字符串;

                     length()返回长度(字符出现的个数)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杨小瑾的鸭舌帽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值