Java的String类操作,你学会了吗?

String类中的常用方法的使用 String认识String类常见构建String类的方式String常见方法length()charAt()toCharArray()indexOf()lastIndexOf()substring()replace()split()static join()toLowerCase()toUpperCase()contains()concat()statsWith()endsWith()trim()字符串的比较1、==2、equals()和equalsIgnoreCase()3、compareTo()和co 阅读详情

前言

String 中文含义是字符串。String广泛应用在Java编程中,在Java中字符串不属于基础类型,属于对象,当然对于所有Java码农而言,学会String基本的操作是必不可少的。作者近期也在重新拾起这些基础中的基础知识,顺便做一下笔记。俗话说好记性不如烂笔头,现在这个时代,还是记录博客比较实在。哈哈,开始正文。

Java提供了String类来创建和操作字符串。下面就以 Java String API 文档中介绍的方法进行分析。【可以根据自己的需求按“Ctrl+F”快速查询需要的方法】

一、字符串的创建

1、最简单粗暴的创建方式

Java直接输入一个字符串类型的常量,编译器会使用该值创建一个String对象。这样就创建好一个字符串。

String str = "juejin.cn"; 
2、构造方法

和所有对象一样,字符串也可以使用对象的方式去创建。如下:

String str = new String("juejin.cn"); 

当然,String的创建方式是多种多样的,据相关人士统计,有十多种方式创建String对象,本次只是列出最常用的方式供大家参考。

3、区别

String创建的字符串存储在公共池中,而new创建的字符串对象在堆上。 所以在项目中应该使用合理的字符串创建方式,减少内存的消耗。

二、字符串操作

1、查询指定索引值

char charAt(int index)返回指定索引处的char值。

2、把这个字符串和另一个对象比较

int compareTo(Object o)把这个字符串和另一个对象比较。

3、比较两个字符串

int compareTo(String anotherString)按字典顺序比较两个字符串。

4、比较两个字符串(不区分大小写)

int compareToIgnoreCase(String str)按字典顺序比较两个字符串,不考虑大小写。

5、拼接字符串

String concat(String str)将指定字符串连接到此字符串的结尾。

6、判断字符串是否存在

boolean contentEquals(StringBuffer sb)当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。

7、指定数组中字符串序列

static String copyValueOf(char[] data)返回指定数组中表示该字符序列的String。

8、指定数组中表示该字符序列

static String copyValueOf(char[] data, int offset, int count)返回指定数组中表示该字符序列的 String。

9、指定的后缀结束

boolean endsWith(String suffix)此字符串是否以指定的后缀结束。

10、与指定的对象比较

boolean equals(Object anObject)将此字符串与指定的对象比较。

11、字符串比较(不区分大小写)

boolean equalsIgnoreCase(String anotherString)将此String与另一个String比较,不考虑大小写。

12、转为byte数组

byte[] getBytes()使用平台的默认字符集将此 String 编码为byte序列,并将结果存储到一个新的byte数组中。

13、转为byte数组

byte[] getBytes(String charsetName)使用指定的字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中。

14、复制到目标字符数组

void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)将字符从此字符串复制到目标字符数组。

15、字符串的哈希码

int hashCode()返回此字符串的哈希码。

16、第一次出现处的索引

int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。

17、第一次出现指定字符处的索引

int indexOf(int ch, int fromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。

18第一次出现处的索引

int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。

19、第一次出现处的索引

int indexOf(String str, int fromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

20、规范化表示形式

String intern()返回字符串对象的规范化表示形式。

21、最后一次出现处的索引

int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。

22最后一次出现处的索引

int lastIndexOf(int ch, int fromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

23、最右边出现处的索引

int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引。

24、获取最后一次出现处的索引

int lastIndexOf(String str, int fromIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

25、字符串的长度

int length()返回此字符串的长度。

26、是否匹配给定的正则表达式

boolean matches(String regex)字符串是否匹配给定的正则表达式。

27、两个字符串区域是否相等

boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)两个字符串区域是否相等。

28、两个字符串区域是否相等

boolean regionMatches(int toffset, String other, int ooffset, int len)两个字符串区域是否相等。

29、替换字符串

String replace(char oldChar, char newChar)返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有 oldChar 得到的。

30、正则替换此所有字符串

String replaceAll(String regex, String replacement)使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。

31、正则替换字符串

String replaceFirst(String regex, String replacement)使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。

32正则表达式的匹配拆分此字符串

String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。

33、正则表达式来拆分此字符串

String[] split(String regex, int limit)根据匹配给定的正则表达式来拆分此字符串。

34 指定的前缀开始

boolean startsWith(String prefix)测试此字符串是否以指定的前缀开始。

35、指定前缀开始

boolean startsWith(String prefix, int toffset)此字符串从指定索引开始的子字符串是否以指定前缀开始。

36、按索引获取字符序列

CharSequence subSequence(int beginIndex, int endIndex)返回一个新的字符序列,它是此序列的一个子序列。

37、按索引获取指定字符串

String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。

38、按索引获取指定字符串

String substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串。

39、字符串转为数组

char[] toCharArray()将此字符串转换为一个新的字符数组。

40、字符串转小写 String toLowerCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

41、按指定规则字符串转小写

String toLowerCase(Locale locale)使用给定Locale的规则将String中的所有字符都转换为小写。

42、对象本身字符串

String toString()返回此对象本身(它已经是一个字符串!)。

43、字符串转大写

String toUpperCase()使用默认语言环境的规则将此String中的所有字符都转换为大写。

44、按规则字符串转大写

String toUpperCase(Locale locale)使用给定Locale的规则将此String中的所有字符都转换为大写。

45、去除字符串首尾空格

String trim()返回字符串的副本,忽略前导空白和尾部空白。

46、返回给定数据类型的字符串

static String valueOf(primitive data type x)返回给定data type类型x参数的字符串表示形式。

47、判断是否包含指定的字符

contains(CharSequence chars)判断是否包含指定的字符系列。

48、判断字符串是否为空

isEmpty()判断字符串是否为空。

三、总结

本文是基于Java String类的API文档进行一个整体的分析,大家可以根据自己项目需要,将相关一个或多个API中相关方法,进行二次封装,作为工具类进行重复使用。当然,随着JDK的不断升级迭代,String类的操作方法还是有些变化的。根据项目中使用到的不同版本,进行相关函数的调用。

好了,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。

String类,你学会了吗? String类作为Java编程中不可或缺的一部分,本文介绍了它的基本概念、创建方式、基本操作以及不可变性。希望通过本文的介绍,你对String类有了更深入的理解,并能够更加熟练地在Java程序中编写高效、健壮的代码。如果你有任何疑问或者想要进一步了解,请随时留言或者查阅Java官方文档。祝你编程愉快! 阅读详情

相关推荐

芯片测试中的DC与AC模式详解:如何选择最适合你的测试方案?

本文深入解析了芯片测试中DC(直流)与AC(交流)模式的核心差异与互补性。DC测试关注静态电气特性,如固定型故障;而AC测试则聚焦于芯片在额定工作速度下的动态时序行为。文章从VLSI设计、电路模块、成本约束、可测试性设计和应用场景五大维度,提供了如何根据工艺节点、工作频率及具体需求,在testMode配置、时钟复位策略和输入输出接口设计中,平衡两种测试模式以制定最优方案的决策框架。

bb456的博客 1086

String和locale

字节与字符的关系 locale的设定 为什么要设定locale 到底什么是locale? 什么是字符集? zh_CN.GB2312到底是在说什么? 怎样去自定义locale locale的五脏六腑 怎样设定locale呢?

fangye1的博客 1047

头歌平台-人工智能导论实验(人脸识别)

答案仅供参考,自己动手丰衣足食!!!

qq_52119136的博客 3026

Java字符串的大小写转换与Locale

涉及到多国语言的时候,需要调用Locale版本的的toLowerCase(Locale)和toUpperCase(Locale)方法。 示例: import java.util.Locale; public class StringLocale {     public static void main(String[] args) {         String lowe

A Flying Bird 9340

科大讯飞(1): 环形6麦语音唤醒—驱动板上的接口

介绍环形麦阵列驱动板上的接口,及其疑问

bing_feilong的博客 1175

Ghost卷积原理与构建YOLOv11的GhostNet变体

本文探讨了在边缘设备部署YOLOv11时使用Ghost卷积进行模型轻量化的实践经验。针对Jetson Nano的4GB内存限制,作者通过替换Backbone中的3x3标准卷积为Ghost卷积,实现了参数减少28%、推理速度提升38%,仅损失1.1%mAP的优化效果。文章详细介绍了Ghost卷积的实现原理、在YOLOv11中的具体替换策略,以及训练调参和部署优化的关键技巧。作者强调轻量化是计算效率与模型性能的权衡,建议工程团队保留原模型和Ghost变体两个版本,根据实际需求灵活切换。Ghost卷积的核心价值在

as1225120794的博客 169

国际化:理解Java平台上的Locale

<br />语言和地理环境对我们的文化产生重要影响.我们同他人之间的交流及生活中的事件都发生在语言和地理环境所产生的一个系统里.由于语言和环境的不同,以至需要我们来制定一个适合的方式来达到向他人表述我们自己或我们的想法的目的.为了有效地和他人交流,需要考虑对方的文化,环境及使用对方的语言.<br /><br />  类似地,一套有实效的软件系统也要考虑用户的语言和地理区域.语言和区域形成了本地环境,描述了软件本地化的设置和上下文.在Java平台上,通过java.util.Locale对象来描述本地化.<br

solomonxiang的专栏 1419

Open3D 机载点云电力线提取【2025最新版】

传统方法实现的机载点云电力线分割提取。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 4468

String的intern()方法详解

官方API: intern public String intern() 返回字符串对象的规范化表示形式。 一个初始时为空的字符串池,它由类 String 私有地维护。 当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String...

Gray_humor的博客 413

AMBA-CHI协议详解(十五)

Write transactions事务描述以及请求属性,cache line状态转换。

Crazzy_M的博客 650

2026 最新安全 Skill 合集(CTF / 审计 / 渗透 / 红队)威胁建模一网打尽

2026年安全领域进入"Skill化"时代,各类安全能力被结构化封装为可复用的AI Skill。本文介绍了7个核心安全Skill项目:渗透测试全流程的AgentSkillsHub、CTF解题技能库ctfskills、多语言代码审计工具codeaudit、PHP专项审计系统、Java自动化审计流水线、威胁建模工具threatmodeling以及覆盖30+领域的Anthropic-Cybersecurity-Skills。这些项目将传统安全经验转化为标准化、可验证、可自动执行的模块化能力,支

Chengbei11的博客 1872

Java 输入方法 数组 String类

输入方法 数组 String类

咸鱼势力登场 4767

【LIN总线测试】——LIN主节点物理层测试

LIN总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。本章节主要介绍LIN主节点物理层如何测试?

测试领域技术分享 5530

【划重点纯干货】Java的String类操作,你学会了吗?

String 中文含义是字符串。String广泛应用在Java编程中,在Java中字符串不属于基础类型,属于对象,当然对于所有Java码农而言,学会String基本的操作是必不可少的。俗话说好记性不如烂笔头,快来做一下笔记啦! Java提供了String类来创建和操作字符串。下面就以 Java String API 文档中介绍的方法进行分析。 视频讲解>>>>>>>>(看不太懂的同学有视频讲解哦!点击即可观看) 一、字符串的创建 1、最简单粗暴的创.

sxt_112233的博客 227

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

实验三.Java中常用类

通过本次实验掌握了String类和StringBuffer类的特点和区别,学会了StringBuffer类的用法以及String类的构造方法、常用字符串处理方法的应用。在日期处理中,常用的类有Date类,Calendar类,DateFormat 类,掌握了日期格式类DateFormat、SimpleDateFormat进行字符串和日期对象进行转换。1、掌握String类和StringBuffer类的特点和区别,并会通过Sting类和StringBuffer类的对象解决实际问题;

Java 1023

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

1.13 String 和StringBuilder

1.13 String 和StringBuilder 1 String 1.1字符串的比较【理解】 1.1.1==号的作用 比较基本数据类型:比较的是具体的值 比较引用数据类型:比较的是对象地址值 1.1.2equals方法的作用 方法介绍: public boolean equls(String s) 比较两个字符串内容是否相同、区分大小写 示例: /* equals方法介绍 比较两个字符串内容是否相同、区分大小写 */ public class StringDemo01 { public s

witty-joker的分享站 237

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

实验七:数组、字符串(2)——字符串

1、编写程序String_Count.java,由用户通过键盘指定一个字符串,然后由程序来统计并输出在该字符串中每个字符出现的次数。 2、编写一个应用程序String_Method.java,实现以下功能,请用自编方法或者是JDK中String类中的方法皆可。

InterestAndFun的博客 999

时间格式转换2

Timestamp转化为String: SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//定义格式,不显示毫秒 Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间 String str = df.format(now); Str...

Yourisa的博客 271

String类的学习笔记(上):介绍String类及其常用方法的使用

本文介绍了Java中用来描述操作字符串的String类,和其一些常用的基本操作方法,字符串的创建输出,字符串对象的比较,字符串查找,字符串的转化,字符串的替换,字符串拆分,字符串截取,和大小写转换,去除左右空格,子字符串包含,学会使用这些方法,能更方便的使用操作字符串~

记录并分享学习编程时的知识点... 4037

Java技术——你真的了解String类的intern()方法吗

0.引言 什么都先不说,先看下面这个引入的例子: String str1 = new String("SEU")+ new String("Calvin"); System.out.println(str1.intern() == str1); System.out.println(str1 == "SEUCalvin"); 本人JDK版本1.8,输出结果为: tru...

关于Android开发的一些技术点总结 ╮( ̄▽ ̄”)╭ 6万+

【JAVA基础】String类概述

java.lang.String 类代表字符串,String类定义的变量可以用于指向字符串对象,然后操作该字符串。String类定义的变量可以用于存储字符串,同时String类提供了很多操作字符串的功能,我们可以直接使用。以“”方式给出的字符串对象,在字符串常量池中存储,而且相同内容只会在其中存储一份。将此字符串与指定对象进行比较,忽略大小写比较字符串。Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。将此字符串与指定对象进行比较。以“”方式给出的字符串对象,在字符串常量池中存储。

Javascript_tsj的博客 1474

Java基础——Java API、String类

一、什么是API API全名:ApplicationProgrammingInterface,API是应用程序编程接口,指一些预先定义好的类。 例如:我们想要一台电脑,并不需要自己生产每个零件,只要从各个厂商买到组装电脑的零件就可以...

u014300046的专栏 588

一起来了解一下Java中的String类吧!!!

String、StringBuffer、StringBuilder、Java、IDEA、方法

m0_74968164的博客 409

从零学java之String类

从零学java之String类 String字符串类 使用一个类需要学会两样东西,构造方法和成员方法 下面就开始介绍构造方法 构造方法常用的有这么三种 string()//创建空白字符串 string(char[ ] array)//根据字符数组创建字符串 String str = string // 直接创建字符串 下面介绍成员方法成员方法有很多种 常用的有下列几种 equals(object(当前阶段可把它看成任何类型))//判断内容是否相同返回值为boolean length()//返回字符串长度

qq_44559530的博客 159

string 操作 java_java String类的常见操作汇总【java学习笔记】

String类在实际开发中的应用非常广泛,因此灵活地使用String类是非常中要的。下面我们介绍String类常用类的一些方法。int indexOf(int ch)功能:返回指定字符在此字符串中第一次出现处的索引int lastIndexOf(int ch)功能:返回指定字符在此字符串中最后一次出现处的索引char charAt(int index)功能:返回字符串中index位置上的字符,其中...

weixin_30522983的博客 870

Java基础知识学习:String类

Java学习,更新ing,附目录 Stage1   Chapter1:Java入门和背景知识   Chapter2:变量|数据类型|运算符   Chapter3:IDEA简单使用   Chapter4:控制语句|方法|递归   Chapter5:面向对象和JVM底层分析 数据表结构理解面向对象 以职工表为例   上面这个职工表,可以将公司所有员工信息“结构化”、“标准化”,让管理者可以方 便的进行统计和管理  我们也经常将表中的“列”,叫做“字段”,英文中统一叫做“field”。显然,field

qq_41649001的博客 998
上一篇: ☕【Java原理探索】彻底你明白什么是JIT编译器(Just In Time编译器)
下一篇: 后端一次给你10万条数据,如何优雅展示,面试官到底考察我什么?
Python_cola
博客等级 码龄5年 2031粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值