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.pswp.cn/bicheng/96517.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96517.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/96517.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【记录】Docker|Docker内部访问LInux主机上的Ollama服务

部分内容参考自&#xff1a;使得 docker 容器内部可以访问宿主机的 ollama 服务_docker 访问 ollama-CSDN 博客&#xff0c;补充添加了更多的细节&#xff0c;也补充了一个更加简单的方案。 我测试的系统版本&#xff1a;Ubuntu 24.04.2 LTS noble&#xff0c;查看方式是指令 l…

数据库物理外键与逻辑外键全解析

一、核心概念 1. 物理外键 (Physical Foreign Key) 物理外键是数据库层面通过语法明确创建的外键约束。它是由数据库管理系统&#xff08;DBMS&#xff09;本身&#xff08;如 MySQL, PostgreSQL, Oracle&#xff09;来强制实现的。 它是什么&#xff1a;数据库表结构的一部分&…

Vue3入门到实战,最新版vue3+TypeScript前端开发教程,创建Vue3工程,笔记03

笔记03 一、创建Vue3项目 1.1、创建方式 使用vue-cli创建使用vite创建&#xff08;推荐&#xff09;Vue3官网创建项目文档 两种创建方式&#xff0c;推荐使用第二种。vue-cli是基于webpack实现的&#xff0c;vite是新一代前端构建工具。 2.1、vue3项目结构

企业如何利用群晖 NAS 构建高效数据备份与容灾体系

在数字化转型的过程中&#xff0c;企业数据已成为核心资产。然而&#xff0c;勒索病毒攻击、硬件故障、操作失误以及自然灾害等风险&#xff0c;都可能导致数据丢失甚至业务中断。如何构建一个高效、安全、可恢复的数据备份与容灾体系&#xff0c;已成为企业 IT 管理的关键课题…

关于在pycharm终端连接服务器

1、先为每个项目创建一个虚拟环境2、使用命令下载torchpip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple安装之后发现安装在了本地&#xff0c;我需要安装到服务器里面&#xff0c;此时可以把本地的删除&#xff0c;因为是默认安装到c盘&#xff0c;除非你指定路…

CSS 继承 (Inheritance)

一、核心概念CSS 继承是指某些 CSS 属性如果被设置在父元素上&#xff0c;其值会自动流向&#xff08;应用到&#xff09;其所有后代元素&#xff08;子、孙元素等&#xff09;的特性。核心价值&#xff1a;通过将样式声明应用于祖先元素&#xff0c;可以避免在所有后代元素上重…

UGUI源码剖析(15):Slider的运行时逻辑与编辑器实现

UGUI源码剖析&#xff08;第十五章&#xff09;&#xff1a;Slider的运行时逻辑与编辑器实现 在之前的章节中&#xff0c;我们已经深入了UGUI众多核心组件的运行时源码。然而&#xff0c;一个完整的Unity组件&#xff0c;通常由两部分构成&#xff1a;定义其在游戏世界中行为的…

【Python】爬虫html提取内容基础,bs4

前言 BeautifulSoup也就是bs4,里面功能其实有很多&#xff0c;不过对于爬虫而言主要掌握一下几块就可以了 怎么找标签&#xff1f;找到标签后怎么获取属性&#xff0c;怎么获取文本内容如何通过找到的标签继续获取子标签 安装 pip install bs4案例 对于找标签来说&#xf…

组件库打包工具选型(npm/pnpm/yarn)的区别和技术考量

组件库打包工具选型&#xff1a;npm/pnpm/yarn的区别与技术考量 一、核心差异概述 组件库打包工具的选择&#xff0c;本质是在​​依赖管理效率​​、​​磁盘空间占用​​、​​Monorepo支持​​、​​安装速度​​及​​幽灵依赖风险​​之间做权衡。npm作为Node.js默认工具…

新型APT组织“嘈杂熊“针对哈萨克斯坦能源部门发起网络间谍活动

感染链图示 | 图片来源&#xff1a;Seqrite实验室APT研究团队 Seqrite实验室APT研究团队近日发布了一份深度分析报告&#xff0c;披露了一个自2025年4月起活跃的新型威胁组织"嘈杂熊"(Noisy Bear)。该组织主要针对哈萨克斯坦石油天然气行业&#xff0c;攻击手法结合…

OpenCV 图像直方图

目录 一、什么是图像直方图&#xff1f; 关键概念&#xff1a;BINS&#xff08;区间&#xff09; 二、直方图的核心作用 三、OpenCV 计算直方图&#xff1a;calcHist 函数详解 1. 函数语法与参数解析 2. 基础实战&#xff1a;计算灰度图直方图 代码实现 结果分析 3. 进…

Firefox Window 开发流程(四)

1 引言 在进行 Firefox 浏览器的二次开发、内核研究或自定义构建之前&#xff0c;最重要的步骤就是拉取源码并进入 Mozilla 官方提供的开发引导模式。这不仅是所有定制工作的起点&#xff0c;同时也决定了后续开发环境的稳定性与可维护性。本文将从源码获取、工具使用、引导脚…

mybatis plus 使用wrapper输出SQL

在MyBatis-Plus中&#xff0c;Wrapper对象用于构建复杂的查询条件。虽然MyBatis-Plus本身没有直接提供从Wrapper对象获取完整SQL语句的方法&#xff0c;但你可以通过一些间接的方式来获取生成的SQL片段。以下是如何使用MyBatis-Plus的Wrapper来获取SQL片段的步骤&#xff1a;‌…

第1章:操作系统和计算机网络

1. 操作系统和计算机网络组成目标概述1.1. 核心知识操作系统和网络知识很庞大&#xff0c;大多内容枯燥无味&#xff0c;主功最常用的&#xff0c;符合2/8原则。操作系统&#xff1a;内核、性能、磁盘IO、内存、CPU进程、线程、文件、中断计算机网络&#xff1a;OSI七层模型、T…

day27|前端框架学习

1、验证。前后端连接&#xff0c;authentication2、action&#xff0c;在pinia&#xff0c;管理状态&#xff0c;处理异步操作&#xff08;API/Firebase&#xff09;。methods。在vue组件&#xff0c;处理组件内部逻辑3、滑动窗口&#xff0c;能有大致思路&#xff0c;但是自己…

单片机启动文件——数据段重定位,BSS段清零

目录重定位概念的引入一、数据段重定位1.作用&#xff1a;2.目的&#xff1a;3.自己模拟代码二、BSS段清零1.作用&#xff1a;2.目的&#xff1a;3.自己模拟代码三&#xff0c;实现原理重定位概念的引入 单片机中内存段的详细介绍 在单片机中内存分为了很多不同的区域&#xf…

QT(3)

四、基本组件1. Designer设计师&#xff08;掌握&#xff09;Qt Designer 是 Qt 提供的可视化界面设计工具&#xff0c;支持通过拖拽组件快速构建 GUI 界面&#xff0c;生成的界面文件以 .ui格式保存&#xff08;基于 XML 的标签语言&#xff09;。​​核心功能​​&#xff1a…

常用注解:@PostMapping、@RequestBody、@Autowired、@Service、@Mapper

1. PostMapping作用&#xff1a;将方法绑定到 HTTP POST 请求的特定路径上用法&#xff1a;PostMapping("/login") // 绑定到 POST /login PostMapping("/employees") // 绑定到 POST /employees PostMapping("/users/{id}") …

SoC日志管理

目录 一、汽车控制器中日志的核心类型 二、日志管理的核心环节与策略 1. 日志采集:确保“全面且不冗余” 2. 日志存储:平衡“可靠性”与“存储成本” 3. 日志安全:防止“篡改与泄露” 4. 日志生命周期:符合“法规与成本” 5. 日志工具与实现 三、汽车场景的特殊约束与应对 …

横评五款开源多智能体框架,AI高手都在用哪个?下一款Manus、Cursor、Devin,谁能撑起来?

Agent 成为共识的速度非常快。但今年 Agent 的真正转折点在于&#xff1a;多智能体。 从科研自动化到任务编排&#xff0c;从自动开淘宝店到 Vibe 一切&#xff0c;从 AI 浏览器到今天的 ChatGPT Agent&#xff0c;一切都是多智能体的味道。 但要真正搭建一个多智能体&#x…