news 2026/2/13 8:39:12

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/2/4 20:23:51

Conda环境克隆复制:快速复制PyTorch工作空间

Conda环境克隆复制&#xff1a;快速复制PyTorch工作空间 在深度学习项目开发中&#xff0c;最让人头疼的往往不是模型调参&#xff0c;而是“为什么你的代码在我机器上跑不起来&#xff1f;”——这个经典问题背后&#xff0c;是环境依赖混乱、版本冲突和GPU配置复杂性的集中体…

作者头像 李华
网站建设 2026/2/10 0:30:21

企业级消息系统全攻略:从核心概念到生产级落地

引言:为什么需要企业级消息系统? 在现代化、分布式的大型企业中,应用和服务不再是孤岛。它们需要可靠、高效、异步地进行通信。企业级消息系统正是为此而生的“中枢神经系统”,负责在不同应用、服务、甚至不同组织之间传递信息和解耦系统。 核心价值: 解耦: 发送方和接…

作者头像 李华
网站建设 2026/2/6 0:31:58

PyTorch安装指定版本:如何选择合适的CUDA匹配

PyTorch安装指定版本&#xff1a;如何选择合适的CUDA匹配 在深度学习项目启动的第一步&#xff0c;往往不是写模型、调超参&#xff0c;而是面对一个看似简单却极易“踩坑”的问题&#xff1a;我该装哪个版本的 PyTorch&#xff1f;它又该搭配哪个 CUDA&#xff1f; 这个问题…

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

PyTorch-CUDA-v2.8镜像支持哪些显卡?NVIDIA全系列兼容列表

PyTorch-CUDA-v2.8镜像支持哪些显卡&#xff1f;NVIDIA全系列兼容列表 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计&#xff0c;而是环境配置——CUDA版本不匹配、cuDNN缺失、PyTorch与驱动冲突……这些问题常常让开发者耗费数小时甚至几天时间来“修环境”。而…

作者头像 李华
网站建设 2026/2/5 10:53:21

Android RNR经典蓝牙连接速度优化功能实现

1.前言 在进行蓝牙优化的相关开发中,在对于经典蓝牙的连接速度优化的过程中,需要让蓝牙快速连接,接下来就需要 分析蓝牙的连接流程,然后实现蓝牙快速连接的功能 2.RNR经典蓝牙连接速度优化功能实现的核心类 packages/modules/Bluetooth/system/stack/btm/btm_sec.cc 3.…

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

【课程设计/毕业设计】基于SpringBoot与Vue的高校健康管理系统设计与实现基于SpringBoot的高校综合医疗健康服务管理系统设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华