news 2026/7/29 20:04:34

js--7

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
js--7

一、API 基础

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

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

二、String 类

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

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

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

2.

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

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

3. 常用方法 方法名 作用 equals() 比较字符串内容是否完全相同 equalsIgnoreCase() 忽略大小写比较字符串内容 charAt(int index) 根据索引获取对应字符 length() 获取字符串长度(与数组的 length 属性区分)

4. 典型应用 统计字符串中大写字母、小写字母和数字的个数,是 charAt() 和 length() 方法的经典应用场景。

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

三、StringBuilder 类

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

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

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

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

4. 底层原理

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

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

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

四、StringJoiner 类

1. 核心特性 - JDK 8 新增的可变字符串容器,可高效拼接字符串。 - 支持指定分隔符、前缀和后缀,让拼接代码更简洁。

- 在实际开发中使用频率较低,多数场景仍使用 StringBuilder 。

2. 构造方法 构造方法 说明 public StringJoiner(间隔符号) 创建对象,指定拼接时的间隔符号 public StringJoiner(间隔符号, 开始符号, 结束符号) 创建对象,指定间隔符号、开始符号和结束符号

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 14:28:29

Java毕设项目推荐-基于springboot+vue的甜品店(烘焙)管理系统基于SpringBoot+Vue的甜品店管理系统设计与实现【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/24 7:18:52

大数据领域数据交易的发展瓶颈与突破路径

大数据领域数据交易的发展瓶颈与突破路径 关键词:数据交易、数据要素、隐私计算、数据确权、数据合规 摘要:数据作为“数字时代的石油”,正在成为驱动经济发展的核心生产要素。但当前数据交易市场仍面临“有数据不敢卖、有需求买不到、交易后…

作者头像 李华
网站建设 2026/7/17 18:00:27

LeetCode 388 文件的最长绝对路径

文章目录 摘要描述题解答案题解代码分析1. 字符串分割2. 使用栈维护路径3. 计算层级4. 处理路径栈5. 计算当前路径长度6. 判断文件和目录7. 完整执行流程示例 示例测试及结果示例 1:input "dir\n\tsubdir1\n\tsubdir2\n\t\tfile.ext"示例 2:i…

作者头像 李华
网站建设 2026/7/23 0:19:09

Python+django健康生活助手活动报名微信小程序的可视化

文章目录 健康生活助手微信小程序的可视化摘要实现后端开发(Django部分)微信小程序前端可视化数据处理部署与优化 系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 健康生活…

作者头像 李华
网站建设 2026/7/27 4:45:06

0x3f 第47天 复习 9:24-10:24

岛屿数量思考组合总和思考组合总和Ⅲ思考N皇后思考单词搜索思考搜索旋转楼梯思考有效的括号ac搜索二维矩阵思考LRU缓存的一半xacxO(1)取最小元素的栈acac思考字符串解码acac思考每日温度acacac柱状图最大矩形面积acacac数组中第K大的元素xTOPK高频元素ac

作者头像 李华