news 2026/7/14 9:23:47

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/7/13 16:35:42

鸿蒙 3200 万设备背后:2026 生态 “深耕年” 的 3 大机遇与挑战

鸿蒙 3200 万设备背后&#xff1a;2026 生态 “深耕年” 的 3 大机遇与挑战 2025年12月&#xff0c;华为终端BG CEO何刚在新品发布会上抛出重磅数据&#xff1a;搭载HarmonyOS 5与HarmonyOS 6的终端设备已突破3200万台&#xff0c;从7月的1000万台到如今的3200万台&#xff0c;…

作者头像 李华
网站建设 2026/7/13 21:43:21

Thread的睡眠与谦让:为什么它们是静态方法?

文章目录Thread的睡眠与谦让&#xff1a;为什么它们是静态方法&#xff1f;引言&#xff1a;线程的基本操作第一部分&#xff1a;静态方法的特点第二部分&#xff1a;为什么sleep()是静态的1. sleep()的作用范围2. 静态方法的适用性3. JVM的实现细节第三部分&#xff1a;为什么…

作者头像 李华
网站建设 2026/7/13 12:02:15

大模型Token包年套餐上线:最高节省70%成本

大模型Token包年套餐上线&#xff1a;最高节省70%成本 在AI模型日益“卷”参数、拼算力的今天&#xff0c;一个现实问题摆在每位开发者面前&#xff1a;如何在有限预算下高效训练大模型&#xff1f;手动配置PyTorch环境耗时数小时甚至数天&#xff0c;GPU资源调度复杂&#xff…

作者头像 李华
网站建设 2026/7/13 14:23:07

专科生必看!8个高效降AIGC工具推荐

专科生必看&#xff01;8个高效降AIGC工具推荐 AI降重工具&#xff1a;让论文更自然&#xff0c;更安心 随着人工智能技术的飞速发展&#xff0c;越来越多的学生在撰写论文时开始依赖AI辅助工具。然而&#xff0c;AI生成的内容往往带有明显的“AI痕迹”&#xff0c;不仅容易被…

作者头像 李华
网站建设 2026/7/8 3:34:19

YOLOv5模型蒸馏教学:小型PyTorch模型生成

YOLOv5模型蒸馏实战&#xff1a;基于PyTorch-CUDA的轻量化部署方案 在边缘计算和移动端AI应用日益普及的今天&#xff0c;如何让高性能目标检测模型“瘦身”并高效运行于资源受限设备&#xff0c;已成为开发者面临的核心挑战。YOLOv5作为工业界广泛采用的目标检测框架&#xf…

作者头像 李华
网站建设 2026/7/10 12:13:09

医疗领域大数据文本分析的挑战与突破

医疗领域大数据文本分析的挑战与突破&#xff1a;从“信息汪洋”到“价值金矿” 引言&#xff1a;医疗文本里藏着未被挖掘的“生命密码” 凌晨3点的医院急诊科&#xff0c;医生正在快速翻阅患者的电子病历&#xff1a;“男性&#xff0c;62岁&#xff0c;突发胸痛2小时&#xf…

作者头像 李华