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

导读

开发环境

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

String概述

【JAVA基础】【查漏补缺】06 - 字符串_第1张图片

【JAVA基础】【查漏补缺】06 - 字符串_第2张图片
【JAVA基础】【查漏补缺】06 - 字符串_第3张图片

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

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

创建String对象的两种方式

【JAVA基础】【查漏补缺】06 - 字符串_第4张图片
【JAVA基础】【查漏补缺】06 - 字符串_第5张图片

内存分析

JDK7之前,StringTable串池是在方法区的。
【JAVA基础】【查漏补缺】06 - 字符串_第6张图片

直接赋值的方式创建字符串,系统会检测字符串是否在串池中,不存在则创建新的,存在则复用该值。
【JAVA基础】【查漏补缺】06 - 字符串_第7张图片

字符串比较

关键字==

【JAVA基础】【查漏补缺】06 - 字符串_第8张图片
【JAVA基础】【查漏补缺】06 - 字符串_第9张图片

String的类方法

【JAVA基础】【查漏补缺】06 - 字符串_第10张图片

字符串截取

实战:手机号屏蔽等
【JAVA基础】【查漏补缺】06 - 字符串_第11张图片

字符串替换

实战:敏感词替换
【JAVA基础】【查漏补缺】06 - 字符串_第12张图片

StringBuilder概述

概述

【JAVA基础】【查漏补缺】06 - 字符串_第13张图片

构造方法

【JAVA基础】【查漏补缺】06 - 字符串_第14张图片

常用方法

【JAVA基础】【查漏补缺】06 - 字符串_第15张图片

StringBuilder支持链式编程!!!

应用场景

在这里插入图片描述

StringJoiner

概念(JDK8出现的)

【JAVA基础】【查漏补缺】06 - 字符串_第16张图片

体验
【JAVA基础】【查漏补缺】06 - 字符串_第17张图片

构造方法

【JAVA基础】【查漏补缺】06 - 字符串_第18张图片

常用方法

【JAVA基础】【查漏补缺】06 - 字符串_第19张图片

字符串相关类的底层原理

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

【JAVA基础】【查漏补缺】06 - 字符串_第20张图片

字符串拼接的底层原理

没有变量参与
【JAVA基础】【查漏补缺】06 - 字符串_第21张图片
有变量参与(JDK8之前)
【JAVA基础】【查漏补缺】06 - 字符串_第22张图片
【JAVA基础】【查漏补缺】06 - 字符串_第23张图片

【JAVA基础】【查漏补缺】06 - 字符串_第24张图片
有变量参与(JDK8及JDK8之后)
【JAVA基础】【查漏补缺】06 - 字符串_第25张图片

StringBuilder提高效率原理图

【JAVA基础】【查漏补缺】06 - 字符串_第26张图片

参考资料

  • 黑马程序员Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题+大厂java面试题) https://www.bilibili.com/video/BV17F411T7Ao?p=30

你可能感兴趣的:(#,Java,java,jvm,开发语言)