news 2026/6/9 16:24:13

Java String类的常用方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java String类的常用方法

Java String类的常用方法

  • 字符串的判断
  • 字符串的获取功能
  • 字符串的部分其他功能

字符串的判断

java.lang.String 中对于字符串有如下的判断方法




案例演示:

publicclassStringDemo{publicstaticvoidmain(String[]args){Strings="helloworld";//判断一个字符串是否以某一个字符串为后缀booleanworld=s.endsWith("ld");System.out.println(world);Strings1=newString("heLLoworld");//判断两个字符串的值是否相等booleanequals=s.equals(s1);System.out.println(equals);//判断两个字符串忽略大小写后是否相等booleanb=s.equalsIgnoreCase(s1);System.out.println(b);//判断一个字符串是否包含一个子字符串booleanhello=s.contains("oworg");System.out.println(hello);//判断一个字符串是否以某一个字符串为开头booleanhello1=s.startsWith("helk");System.out.println(hello1);//判断一个字符串是否是空串booleanempty="".isEmpty();System.out.println(empty);//判断一个字符串是否是空串booleanequals1="".equals(s);System.out.println(equals1);}}

这里需要注意的是,判断一个字符串是否是空串最好把空串的常量放在前面:boolean equals1 = “”.equals(s);
使用 “”.equals(s) 能避免空指针异常:equals() 是实例方法,必须由指向有效对象的非空引用调用,而 “” 是字符串常量,永远指向常量池中的有效空字符串实例不会触发 NullPointerException;若使用 s.equals(“”),假设当 s = null 时,那么空引用无法调用实例方法 equals(),会抛出 NullPointerException。

字符串的获取功能




案例演示:

publicclassStringDemo{publicstaticvoidmain(String[]args){Strings="heleloworld";//获得一个字符串的长度intlength=s.length();System.out.println(length);//根据索引号或者字符,索引不要越界charc=s.charAt(3);System.out.println(c);// 获得一个ascii对应字符在字符串中第一次出现的位置inti=s.indexOf(101);System.out.println(i);//获得一个字符串在母字符串中第一次出现的索引intel=s.indexOf("el");System.out.println(el);}}






importjava.util.Arrays;publicclassStringDemo{publicstaticvoidmain(String[]args){Strings="heleloworld";//从某一个索引开始向后数第一次出现的子字符串的索引intel=s.indexOf("el",2);System.out.println(el);//截取指定的索引之后的字符串,包含索引处的字符Stringsubstring=s.substring(5);System.out.println(substring);//截取指定的开始索引和结束索引之间的字符串,包头不包尾Stringsubstring1=s.substring(5,8);System.out.println(substring1);Strings1="abcde";//获得这个字符串对应的字符的数组byte[]bytes=s1.getBytes();System.out.println(Arrays.toString(bytes));//把字符串转换成字符的数组char[]chars=s1.toCharArray();System.out.println(Arrays.toString(chars));inti=10;Strings2=i+"";//valueOf不常用Strings3=String.valueOf(i);Strings5="abcde我爱你中国15554555";//把字符串的字母部分变成大写Strings6=s5.toUpperCase();System.out.println(s6);Strings7="ABCDE我爱你中国15554555";//把字符串大写字母变成小写Strings8=s7.toLowerCase();System.out.println(s8);//拼接两个字符串Stringconcat=s5.concat(s7);Stringconcat1=s5+s7;System.out.println(concat);System.out.println(concat1);}}

字符串的部分其他功能



publicclassStringDemo{publicstaticvoidmain(String[]args){Strings="aaa-bbb-cccc-ddd";//把一个字符串按着某种字符拆分成数组String[]split=s.split("\\-");for(inti=0;i<split.length;i++){System.out.println(split[i]);}Strings1="HelloWorld";//把字符串中的某个字符串替换成另一个字符Stringreplace=s1.replace('l','x');System.out.println(replace);Strings2="aaa-bbb-aaa-ddd";//把字符串中子字符串替换成另一个子字符串Stringreplace1=s2.replace("aaa","111");System.out.println(replace1);Strings3=" abc ";//去掉字符串两边的空格Stringtrim=s3.trim();System.out.println("|"+trim+"|");}}

举例:定义一个方法,传入字符串格式(idcard:name:age:gender)的分隔形如
“120384722312901:kexin:20:1|3219212131312:hantao:22:1|120121121312:zhangmeiling:21:2”,将该字符串分解,将属性赋给定义的 Person 类的对象上并且输出。

importjava.util.Arrays;publicclassStringDemo{publicstaticvoidmain(String[]args){Strings="120384722312901:kexin:20:1|3219212131312:hantao:22:1|120121121312:zhangmeiling:21:2";//根据|拆分字符串String[]pdate=s.split("\\|");Person[]ps=newPerson[3];//遍历数组for(inti=0;i<pdate.length;i++){//120384722312901:kexin:20:1Stringpstr=pdate[i];//创建一个person的对象Personp=newPerson();//根据:拆分子字符串[120384722312901,kexin,20,1]String[]attrStr=pstr.split(":");//给属性赋值p.setIdcard(attrStr[0]);p.setName(attrStr[1]);p.setAge(Integer.parseInt(attrStr[2]));p.setGender(Integer.parseInt(attrStr[3]));//把创建的person对象放入数组中ps[i]=p;}//打印数组System.out.println(Arrays.toString(ps));}}
publicclassPerson{privateStringidcard;privateStringname;privateintage;privateintgender;publicStringgetIdcard(){returnidcard;}publicvoidsetIdcard(Stringidcard){this.idcard=idcard;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicintgetGender(){returngender;}publicvoidsetGender(intgender){this.gender=gender;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 21:41:18

清华镜像站离线备份方案:应对突发网络故障

清华镜像站离线备份方案&#xff1a;应对突发网络故障 在高校人工智能实验室的某个清晨&#xff0c;数十名研究生同时尝试运行 pip install torch 来搭建实验环境。然而&#xff0c;由于校园网国际出口波动&#xff0c;PyPI 和清华镜像站响应缓慢&#xff0c;安装频繁超时。原…

作者头像 李华
网站建设 2026/6/7 2:29:24

8个AI论文平台推荐,MBA论文写作必备!

8个AI论文平台推荐&#xff0c;MBA论文写作必备&#xff01; AI 工具助力论文写作&#xff0c;效率提升不再是梦想 在当今快节奏的学术环境中&#xff0c;MBA 学生和研究者面临着日益繁重的论文写作任务。传统的写作方式不仅耗时费力&#xff0c;还容易因重复率高而遭遇查重问题…

作者头像 李华
网站建设 2026/6/7 2:55:14

智能体工作流:下一代经济的“水平杠杆”与自动化终局

在AI技术狂飙突进的当下,大多数人依然将大语言模型(LLM)视为“聊天机器人”或“高配版搜索引擎”。然而,真正的变革正悄然发生在智能体工作流(Agentic Workflows)这一领域。这不仅仅是技术的迭代,更被视为人类历史上最大的财富转移机会之一——即从单纯的劳动力价值向“…

作者头像 李华
网站建设 2026/6/7 1:29:05

YOLOv5更换Neck结构:基于PyTorch的FPN改进

YOLOv5更换Neck结构&#xff1a;基于PyTorch的FPN改进 在目标检测的实际应用中&#xff0c;小目标漏检、多尺度特征融合不充分等问题始终是模型性能提升的“硬骨头”。尤其是在工业质检、智慧交通等对精度要求极高的场景下&#xff0c;哪怕mAP&#xff08;平均精度&#xff09…

作者头像 李华
网站建设 2026/6/7 1:32:32

清华镜像同步频率揭秘:PyTorch包更新延迟多久

清华镜像同步频率揭秘&#xff1a;PyTorch包更新延迟多久 在深度学习项目启动的前夜&#xff0c;你正准备拉取最新的 PyTorch 版本进行实验复现&#xff0c;却发现 pip install torch 卡在 0%&#xff0c;下载速度不足 50KB/s。此时你会怎么做&#xff1f;翻墙&#xff1f;重试…

作者头像 李华
网站建设 2026/6/7 2:45:15

使用SpringAI实现对话机器人

一、spring-ai实现对话机器人 step1.引入spring-ai的依赖管理项 <dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.…

作者头像 李华