D04 第四部分 API - 字符串

目录

1.引出

2.string类

概述

所在包

特点

构造

创建字符串对象两种方式的区别

字符串的比较

常用方法总结

字符串原理(自己能叙述)

​编辑

3.StringBuilder

概述

所在包

作用

常用方法

StringBuilder源码分析(空间解析)

StringBuilder提高效率的原因

4.StringJoiner(JDK8出现的)

概述

所在包 

作用

构造方法

成员方法


1.引出

 

2.string类

概述

Java 程序中所有的双引号字符串,都是 String 类的对象

所在包

特点

1.不可变

指的是一旦创建了一个String对象,就不能修改其内容。

这意味着对于一个已经存在的String对象,任何尝试修改其内容的操作都会创建一个新的String对象,而不是在原来的对象上进行修改。

代码示例

public class Main {
    public static void main(String[] args) {
        String str1 = "Hello";
        System.out.println("Original String: " + str1);
        
        // 尝试修改String内容
        str1 = str1 + " World"; // 这里实际上是创建了一个新的String对象,而不是在原来的对象上进行修改
        System.out.println("Modified String: " + str1);
        
        // 检查原始String是否被修改
        System.out.println("Original String after modification: " + str1);
    }
}

2.底层是字节数组( byte[] )

构造

创建字符串对象两种方式的区别

1.直接赋值

在JDK7开始,系统检查字符串在串池中是否存在,存在就复用,不存在创建新的

以""方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护

内存原理

2.创建对象

字符串的比较

常用方法总结

 

字符串原理(自己能叙述)

1.字符串拼接原理:

        a.等号右边有无变量

                无,直接优化为字符串,编译时已经是最终结果。

                有,一个加号俩个对象

                        底层使用StringBuilder拼接

                        然后转换为String对象

                        

JDK8后

2. 字符串为引用数据类型为什么打印出的是值

        底层自动调用toString()方法

3. 字符串变量参与的优化机制

        底层调用StringBuilder进行拼接

4.常量优化机制

        字符串+连接会进行自动优化

        ''a''+"b"


 

3.StringBuilder

概述

        StringBuilder 可以看成是一个容器,创建之后里面的内容是可变的。

所在包

作用

        当我们在拼接字符串和反转字符串的时候会使用到

常用方法

StringBuilder源码分析(空间解析)

StringBuilder提高效率的原因

不会创建很多对象,浪费空间

4.StringJoiner(JDK8出现的)

概述

 StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。

所在包 

作用

提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用。

构造方法

成员方法

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值