Java中的字符串【AI全栈开发】

基本概念

Java 中的字符串由 java.lang.String 类表示,是不可变(immutable)对象 ------ 一旦创建,其内容不可修改。每次对字符串的"修改"操作(如拼接、截取)都会产生新的 String 对象。

不可变性的意义

  1. 字符串常量池的基础 --- 不可变才敢让多个引用共享同一对象
  2. 线程安全 --- 天然可在多线程间共享
  3. 安全性 --- 例如数据库连接字符串不会被意外篡改
  4. hashCode 缓存 --- 只需计算一次,提高 HashMap 等的效率

字符串的创建

  1. 使用双引号包裹字符串内容:

    java 复制代码
    String s1 = "Hello";
  2. 使用 String 类的构造方法:

    java 复制代码
    String s2 = new String("Hello");

常用 API

方法 说明
length() 获取长度
charAt(int) 获取指定索引字符
substring(int, int) 截取子串
equals(Object) 比较内容
indexOf(String) 查找子串位置
trim() 去除首尾空白
toUpperCase() 转大写
split(String) 按规则分割
相关推荐
嘻哈∠※1 小时前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
白狐_7982 小时前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2582 小时前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅2 小时前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试
极创信息4 小时前
系统安全隐患全方位排查方案:标准化渗透测试全流程
java·opencv·struts·数据挖掘·eclipse·语音识别·hibernate
汉字萌萌哒5 小时前
2019CCF-CSP入门级C++试题解析
java·开发语言·c++
喜欢的名字被抢了5 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库
数据知道6 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
2601_949950636 小时前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐
Rain的Java大神之路6 小时前
MQ重复消费问题怎么解决
java·经验分享·后端·面试·架构·rabbitmq·rocketmq