当前位置: 首页 > news >正文

Java中字符串(String类)的常用方法

以下是Java中字符串(String类)的常用方法分类详解,包含核心方法说明和示例代码:


一、字符串基础信息

方法说明示例输出
length()返回字符串长度"Hello".length()5
isEmpty()判断字符串是否为空(长度是否为0)"".isEmpty()true
charAt(int index)返回指定索引处的字符"Java".charAt(2)'v'

二、字符串内容判断

方法说明示例输出
equals(Object obj)比较字符串内容是否相等(区分大小写)"java".equals("Java")false
equalsIgnoreCase(String str)比较字符串内容是否相等(不区分大小写)"java".equalsIgnoreCase("Java")true
contains(CharSequence s)判断是否包含指定字符序列"Hello".contains("ell")true
startsWith(String prefix)判断是否以指定前缀开头"File.txt".startsWith("File")true
endsWith(String suffix)判断是否以指定后缀结尾"Image.jpg".endsWith(".png")false

三、字符串操作

方法说明示例输出
substring(int beginIndex)截取从beginIndex到末尾的子串"Hello".substring(2)"llo"
substring(int begin, int end)截取[begin, end)区间的子串"Java".substring(1, 3)"av"
concat(String str)拼接字符串(等效于+操作符)"Hello".concat(" World")"Hello World"
replace(char old, char new)替换所有old字符为new字符"apple".replace('p', 'b')"abble"
replaceAll(String regex, String replacement)使用正则替换所有匹配内容"a1b2".replaceAll("\\d", "-")"a-b-"

四、字符串转换

方法说明示例输出
toLowerCase()转换为全小写"Java".toLowerCase()"java"
toUpperCase()转换为全大写"Java".toUpperCase()"JAVA"
trim()去除首尾空白符" Hello ".trim()"Hello"
split(String regex)按正则分割字符串为数组"a,b,c".split(",")["a", "b", "c"]

五、字符串查找

方法说明示例输出
indexOf(String str)返回str首次出现的索引(未找到返回-1"Java".indexOf("a")1
lastIndexOf(String str)返回str最后一次出现的索引"banana".lastIndexOf("a")5
matches(String regex)判断是否匹配正则表达式"123".matches("\\d+")true

六、格式化与转换

方法说明示例输出
format(String format, Object... args)格式化字符串(静态方法)String.format("%s:%d", "ID", 100)"ID:100"
valueOf(Object obj)将对象转换为字符串(静态方法)String.valueOf(3.14)"3.14"

七、正则表达式操作

方法说明示例
replaceFirst(String regex, String replacement)替换第一个匹配项"a1b2".replaceFirst("\\d", "-")"a-b2"
split(String regex, int limit)按正则分割字符串,限制分割次数"a,b,c".split(",", 2)["a", "b,c"]

注意事项

  1. 字符串不可变性:所有操作均返回新字符串,原字符串不变。

    String s = "Hello";
    s.toUpperCase(); // 原字符串s仍为"Hello"
    String s2 = s.toUpperCase(); // s2 = "HELLO"
    
  2. 性能优化:频繁拼接字符串时使用StringBuilder代替+

    StringBuilder sb = new StringBuilder();
    sb.append("Hello").append(" World");
    String result = sb.toString();
    
  3. 正则转义:特殊字符需转义(如.需写为\\.)。

    "file.txt".split("\\."); // 正确分割为["file", "txt"]
    

综合示例:解析CSV数据

String csv = "Name,Age,City\nAlice,30,New York\nBob,25,San Francisco";
String[] rows = csv.split("\n");
for (String row : rows) {String[] columns = row.split(",");System.out.println(Arrays.toString(columns));
}

输出

[Name, Age, City]
[Alice, 30, New York]
[Bob, 25, San Francisco]

掌握这些方法能高效处理字符串操作,建议结合具体场景灵活使用!

http://www.xdnf.cn/news/546553.html

相关文章:

  • 如何使用MATLAB NLP工具箱进行文本聚类
  • notepad++
  • 使用 vite-plugin-dynamic-base 实现运行时动态设置上下文路径
  • SetThrowSegvLongjmpSEHFilter错误和myFuncInitialize 崩溃
  • 深度学习框架显存泄漏诊断手册(基于PyTorch的Memory Snapshot对比分析方法)
  • LLM: 多模态LLM动态分辨率
  • AI知识库- Cherry Studio构建本地知识库
  • winrm ‘Protocol‘ object has no attribute ‘run_ps‘
  • AI编程辅助哪家强?深度解析主流AI编程工具的现状与未来-优雅草卓伊凡
  • 裸金属服务器:解锁极致性能,拒绝虚拟化开销!
  • es学习小结
  • OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
  • AI人工智能的SGLang、vllm和YaRN大语言模型服务框架引擎的对比
  • 大语言模型 15 - Manus 超强智能体 开源版本 OpenManus 案例与原理深入解析
  • JIT即时编译器全面剖析:原理、实现与优化
  • 医疗器械erp系统 关键的管理工具 满足GSP需求
  • Java泛型 的详细知识总结
  • vue3+elementPlus穿梭框单个拖拽和全选拖拽
  • Windows 安装Anaconda
  • 2025年电工杯新规发布-近三年题目以及命题趋势
  • 瀚高数据库安全版审计查询方法
  • vue3前端后端地址可配置方案
  • Spark大数据分析案例(pycharm)
  • Rocketmq broker 是主从架构还是集群架构,可以故障自动转移吗
  • 深度解析 HDFS与Hive的关系
  • C#中使用SharpSvn和TortoiseSVN操作SVN版本控制系统的完整指南
  • FreeSWITCH 纯内网配置
  • 实现图片自动压缩算法,canvas压缩图片方法
  • Java 单元测试框架比较:JUnit、TestNG 哪个更适合你?
  • pycharm无法正常调试问题