js--7

一、API 基础

1.定义:API(Application Programming Interface)是预先实现好的功能接口,我们无需重复编写,直接调用即可。

  1. Java API:指 JDK 中提供的各类功能类 Random 、 String 、 StringBuilder 、 StringJoiner 等。

二、String 类

  1. 核心特性 - 属于 java.lang 包,使用时无需导包。

所有字符串字面量(如 "abc" )本质上都是 String 类的对象。

不可变性:字符串内容在创建后无法修改,任何拼接或修改操作都会生成新的对象。

String name = "abc"; 复用字符串常量池中的对象,效率更高 构造方法

String s = new String(char[] chs); 每次都会在堆内存中创建新对象

  1. 常用方法 方法名 作用 equals() 比较字符串内容是否完全相同 equalsIgnoreCase() 忽略大小写比较字符串内容 charAt(int index) 根据索引获取对应字符 length() 获取字符串长度(与数组的 length 属性区分)
  1. 典型应用 统计字符串中大写字母、小写字母和数字的个数,是 charAt() 和 length() 方法的经典应用场景。

  2. 拼接底层原理 - 无变量参与:编译时直接完成拼接,复用字符串常量池中的对象。 - 有变量参与:每次拼接都会创建新字符串对象,造成内存浪费。

三、StringBuilder 类

  1. 核心特性 - 是一个可变的字符串容器,可直接修改内容,避免频繁创建对象,提升性能。

适用于频繁拼接、修改字符串的场景。

  1. 构造方法 构造方法 说明 public StringBuilder() 创建一个空的可变字符串对象 public StringBuilder(String str) 根据传入的字符串创建可变对象

  2. 常用方法 方法名 作用 append(任意类型) 向容器添加数据,返回对象本身,支持链式调用 reverse() 反转容器中的内容 length() 获取容器中字符的个数 toString() 将 StringBuilder 转换为 String 类型

  3. 底层原理

  • 效率优势:所有拼接内容都直接放入容器,不会创建大量无用对象,节约内存。

  • 扩容机制: - 默认初始容量为 16。

  • 扩容规则: 老容量 * 2 + 2 。 - 若计算后的容量仍不足,则直接使用实际所需容量。

四、StringJoiner 类

  1. 核心特性 - JDK 8 新增的可变字符串容器,可高效拼接字符串。 - 支持指定分隔符、前缀和后缀,让拼接代码更简洁。
  • 在实际开发中使用频率较低,多数场景仍使用 StringBuilder 。
  1. 构造方法 构造方法 说明 public StringJoiner(间隔符号) 创建对象,指定拼接时的间隔符号 public StringJoiner(间隔符号, 开始符号, 结束符号) 创建对象,指定间隔符号、开始符号和结束符号

五、 String 不可变 内容安全,复用性高 字符串内容固定的场景

StringBuilder 可变 高效拼接、修改 频繁操作字符串的场景

StringJoiner 可变 支持分隔符、前缀、后缀 需要格式化拼接结果的场景

相关推荐
勇往直前plus23 分钟前
从文件到屏幕:Python/java 字符编码、解码、文本处理的底层逻辑解析
java·开发语言·python
Drifter_yh7 小时前
【黑马点评】Redisson 分布式锁核心原理剖析
java·数据库·redis·分布式·spring·缓存
莫寒清8 小时前
Spring MVC:@RequestParam 注解详解
java·spring·mvc
没有医保李先生8 小时前
字节对齐的总结
java·开发语言
甲枫叶10 小时前
【claude】Claude Code正式引入Git Worktree原生支持:Agent全面实现并行独立工作
java·人工智能·git·python·ai编程
六件套是我10 小时前
无法访问org.springframeword.beans.factory.annotation.Value
java·开发语言·spring boot
LYS_061810 小时前
C++学习(5)(函数 指针 引用)
java·c++·算法
forestsea11 小时前
Spring Cloud Alibaba 2025.1.0.0 正式发布:拥抱 Spring Boot 4.0 与 Java 21+ 的新时代
java·spring boot·后端
IT枫斗者11 小时前
IntelliJ IDEA 2025.3史诗级更新:统一发行版+Spring Boot 4支持,这更新太香了!
java·开发语言·前端·javascript·spring boot·后端·intellij-idea