【JAVA基础】【查漏补缺】06 - 字符串

导读

开发环境

版本号 描述
操作系统 Win11-21H2 内部版本号22000.588
IDEA 2021.3

String概述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

ps: String定义在java.lang包中,所以不需要导包

String构造方法代码实现和内存分析

创建String对象的两种方式

在这里插入图片描述
在这里插入图片描述

内存分析

JDK7之前,StringTable串池是在方法区的。
在这里插入图片描述

直接赋值的方式创建字符串,系统会检测字符串是否在串池中,不存在则创建新的,存在则复用该值。
在这里插入图片描述

字符串比较

关键字==

在这里插入图片描述
在这里插入图片描述

String的类方法

在这里插入图片描述

字符串截取

实战:手机号屏蔽等
在这里插入图片描述

字符串替换

实战:敏感词替换
在这里插入图片描述

StringBuilder概述

概述

在这里插入图片描述

构造方法

在这里插入图片描述

常用方法

在这里插入图片描述

StringBuilder支持链式编程!!!

应用场景

在这里插入图片描述

StringJoiner

概念(JDK8出现的)

在这里插入图片描述

体验
在这里插入图片描述

构造方法

在这里插入图片描述

常用方法

在这里插入图片描述

字符串相关类的底层原理

存储的内存原理和==比较

在这里插入图片描述

字符串拼接的底层原理

没有变量参与
在这里插入图片描述
有变量参与(JDK8之前)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
有变量参与(JDK8及JDK8之后)
在这里插入图片描述

StringBuilder提高效率原理图

在这里插入图片描述

参考资料

猜你喜欢

转载自blog.csdn.net/kinghzking/article/details/126471954