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

Java 中String类的常用方法

Java 中的 String 类提供了丰富的方法用于字符串操作,以下是最常用的一些方法分类总结:

一、获取字符串信息

  1. length():返回字符串长度(字符个数)

    String s = "hello";
    int len = s.length(); // len = 5
    
  2. charAt(int index):返回指定索引(从0开始)的字符

    char c = "hello".charAt(1); // c = 'e'
    
  3. indexOf(String str):返回子串 str 首次出现的索引,未找到返回 -1

    int idx = "hello world".indexOf("lo"); // idx = 3
    
  4. lastIndexOf(String str):返回子串 str 最后出现的索引

    int idx = "ababa".lastIndexOf("aba"); // idx = 2
    

二、字符串比较

  1. equals(Object obj):判断两个字符串内容是否完全相同(区分大小写)

    "abc".equals("ABC"); // false
    
  2. equalsIgnoreCase(String str):忽略大小写比较内容

    "abc".equalsIgnoreCase("ABC"); // true
    
  3. compareTo(String str):按字典顺序比较,返回差值(正数:当前串大;负数:参数串大;0:相等)

    "apple".compareTo("banana"); // 负数('a' < 'b')
    

三、字符串截取与拆分

  1. substring(int beginIndex):从 beginIndex 截取到末尾

    "hello".substring(2); // "llo"
    
  2. substring(int beginIndex, int endIndex):截取 [beginIndex, endIndex) 范围的子串(左闭右开)

    "hello".substring(1, 4); // "ell"
    
  3. split(String regex):按正则表达式拆分字符串,返回字符串数组

    String[] parts = "a,b,c".split(","); // ["a", "b", "c"]
    

四、字符串修改(注意:String 是不可变的,以下方法返回新字符串)

  1. toLowerCase() / toUpperCase():转为全小写 / 全大写

    "Hello".toLowerCase(); // "hello"
    "Hello".toUpperCase(); // "HELLO"
    
  2. trim():去除首尾空白字符(空格、换行、制表符等)

    "  hello  ".trim(); // "hello"
    
  3. replace(char oldChar, char newChar):替换所有指定字符

    "hello".replace('l', 'x'); // "hexxo"
    
  4. replace(String oldStr, String newStr):替换所有指定子串

    "hello world".replace("world", "java"); // "hello java"
    
  5. concat(String str):拼接字符串(等价于 + 运算符)

    "hello".concat(" world"); // "hello world"
    

五、判断字符串特性

  1. startsWith(String prefix):判断是否以指定前缀开头

    "hello".startsWith("he"); // true
    
  2. endsWith(String suffix):判断是否以指定后缀结尾

    "hello.txt".endsWith(".txt"); // true
    
  3. isEmpty():判断字符串是否为空(长度为0)

    "".isEmpty(); // true
    "a".isEmpty(); // false
    
  4. contains(CharSequence s):判断是否包含指定子串

    "hello".contains("ll"); // true
    

六、其他常用方法

  1. toCharArray():将字符串转为字符数组

    char[] arr = "hello".toCharArray(); // ['h','e','l','l','o']
    
  2. valueOf(xxx):静态方法,将其他类型转为字符串(常用)

    String.valueOf(123); // "123"
    String.valueOf(true); // "true"
    
  3. format(String format, Object... args):静态方法,格式化字符串(类似 printf

    String.format("Name: %s, Age: %d", "Tom", 20); // "Name: Tom, Age: 20"
    

注意事项

  • String 是不可变对象,所有修改方法都会返回新的字符串,原字符串不变。
  • 频繁修改字符串时,建议使用 StringBuilderStringBuffer 以提高效率。
http://www.dtcms.com/a/377614.html

相关文章:

  • TENGJUN防水TYPE-C连接器:立贴结构与IPX7防护的精密融合
  • 和照片互动?NAS 部署 AI 智能相册,瀑布流+网格双布局!
  • 网络原理——传输层协议TCP基本认识
  • ETF提供流动性 DAT提供创造性
  • 深入理解C++多态:从概念到实现原理
  • ​Premiere Pro 2024 v24.0.0.58 怎么安装?详细教程(附安装包)
  • 关于调用第三方API服务(New API)等出现被Cloudfare拦截问题解决
  • 用 Python UTCP 直调 HTTP、CLI、MCP……
  • 在 QML 中,clip: true 属性对于 AnimatedImage 裁剪无效的问题通常是由于以下原因及解决方案
  • 硬件开发_基于STM32单片机的智能投送小车
  • 开始 ComfyUI 的 AI 绘图之旅-Flux.1文生图(全网首发,官网都没有更新)(七)
  • c++模板的使用
  • docker部署openlist配置SLL证书
  • 设计模式-策略模式深度分析
  • 洛谷P3405 [USACO16DEC] Cities and States S (哈希表法)详解
  • Vue3纯前端同源跨窗口通信移动AGV小车
  • 4.6Vue的OptionApi
  • qqq数据结构补充
  • 【Vue2】解决数组监听问题
  • 2025 AI+SEO实战学习资料合集,入门到精通的实操指南
  • AutoTrack-IR-DR200构建栅格地图全解析:为教育领域打造的SLAM学习实践平台
  • mysql分库分表数据量核查问题
  • 深入浅出理解查找算法:从基础到实践
  • 最简单解决GitHub打不开的问题:Fastgithub的使用
  • 2025树莓派5烧录镜像教程
  • Ruoyi-vue-plus-5.x第七篇多租户与权限管理:7.2 租户管理功能
  • 解释器模式(Interpreter Pattern)解析与C++实现
  • 《软件方法》2025版 第2章 业务建模之愿景 Part1(20250908更新)
  • 贪心算法(最优装载问题)
  • JavaWeb04