news 2026/6/15 15:00:30

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/15 12:56:44

大模型Token消耗监控面板:实时查看用量与余额

大模型Token消耗监控面板&#xff1a;实时查看用量与余额 在AI应用日益普及的今天&#xff0c;企业每天通过API调用大语言模型&#xff08;LLM&#xff09;处理海量文本请求——从智能客服自动回复、代码生成到内容创作。然而&#xff0c;随着使用频率上升&#xff0c;一个隐性…

作者头像 李华
网站建设 2026/6/15 12:52:43

Markdown表格展示PyTorch实验结果:清晰直观

PyTorch 实验结果的高效展示&#xff1a;从容器化训练到 Markdown 表格呈现 在深度学习项目中&#xff0c;模型训练只是第一步。真正决定研发效率的&#xff0c;往往是实验记录是否清晰、结果对比是否直观、团队协作是否顺畅。现实中&#xff0c;许多团队仍在用截图、零散日志或…

作者头像 李华
网站建设 2026/6/15 12:50:40

SSH X11转发图形界面:远程运行PyTorch可视化程序

SSH X11转发图形界面&#xff1a;远程运行PyTorch可视化程序 在深度学习项目中&#xff0c;你是否曾遇到这样的场景&#xff1a;代码已经写好&#xff0c;模型也训练得差不多了&#xff0c;却卡在一个看似简单的问题上——如何实时查看 Matplotlib 画出的损失曲线&#xff1f;尤…

作者头像 李华
网站建设 2026/6/15 13:52:10

PyTorch模型导出ONNX格式:跨平台部署前置步骤

PyTorch模型导出ONNX格式&#xff1a;跨平台部署前置步骤 在智能设备无处不在的今天&#xff0c;一个训练好的深度学习模型如果无法高效运行在手机、边缘网关或云端服务器上&#xff0c;那它的价值就大打折扣。算法工程师常面临这样的困境&#xff1a;在 PyTorch 中训练出高精…

作者头像 李华
网站建设 2026/6/15 14:52:12

Markdown生成PDF文档:PyTorch技术报告输出

Markdown生成PDF文档&#xff1a;PyTorch技术报告输出 在深度学习项目迭代日益频繁的今天&#xff0c;一个常被忽视却至关重要的问题浮出水面&#xff1a;如何让实验成果高效、准确地传达给团队成员或上级决策者&#xff1f; 很多工程师都经历过这样的场景——模型训练完成&…

作者头像 李华
网站建设 2026/6/15 12:49:40

SSH隧道转发可视化界面:远程调试PyTorch模型的新方法

SSH隧道转发可视化界面&#xff1a;远程调试PyTorch模型的新方法 在深度学习项目开发中&#xff0c;一个常见的场景是&#xff1a;你的代码跑在一个远在数据中心的服务器上&#xff0c;那台机器配备了多块A100显卡&#xff0c;而你坐在咖啡馆里&#xff0c;手边只有一台轻薄本。…

作者头像 李华