当前位置: 首页 > news >正文

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;}}
http://www.jsqmd.com/news/161952/

相关文章:

  • Markdown公式书写:推导PyTorch损失函数数学原理
  • 从本地到云端:迁移PyTorch项目使用CUDA加速推理
  • SSH隧道转发可视化界面:远程调试PyTorch模型的新方法
  • conda环境冲突怎么办?直接使用PyTorch-CUDA-v2.8纯净镜像
  • Java毕设项目:基于springBoot的动漫分享系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 语义分割:Unet、Unet++、Swin UNet等变体模型网络及算法开发部署
  • Java的包装类
  • 清华镜像源列表更新:PyTorch相关包下载地址大全
  • CUDA安装头疼?PyTorch-CUDA镜像已自动完成所有配置
  • JiyuTrainer实时监控GPU利用率:PyTorch训练可视化
  • 大模型Token按需购买新模式:结合PyTorch镜像灵活计费
  • PyTorch-CUDA-v2.8镜像支持ARM架构GPU服务器
  • SSH远程连接+PyTorch-CUDA-v2.8镜像,打造私有AI训练平台
  • PyTorch模型转换CoreML:移动端部署路径探索
  • Java 引用(强/软/弱/虚)深度解析:底层原理与源码行级解读
  • Markdown生成PDF文档:PyTorch技术报告输出
  • CUDA版本与PyTorch对应关系表:避免安装踩坑
  • Java毕设项目:基于SpringBoot的办公管理系统设计与实现(源码+文档,讲解、调试运行,定制等)
  • 【课程设计/毕业设计】基于springboot的动漫爱好者在线讨论与分享平台的设计与实现基于springBoot的动漫分享系统的设计与实现【附源码、数据库、万字文档】
  • Diskinfo历史数据分析:预测GPU服务器磁盘故障
  • CAD主流电气原理图,通俗易懂,合适工控爱好者学习,多套主流PLC电气图纸,有常见的污水处理厂...
  • 万维易源API与jmeter查询快递物流
  • http定义了几种不同的请求方法
  • 计算机Java毕设实战-基于SpringBoot的高校综合医疗健康服务管理系统设计与实现诊室管理、健康档案管理、学习培训管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • [HNOI2016] 序列
  • 从噪声中聆听信号的低语:ZYNQ如何实现实时稀疏信号重构
  • Matlab CEEMDAN-CPO-VMD-PLO-Transformer-LSTM6模型单变量时序预测一键对比
  • Conda环境名称重命名:更好地组织多个PyTorch项目
  • Matlab Simulink下的柔性直流输电系统四端网络无功补偿与电压稳定控制策略
  • GitHub Issue模板设计:高效收集PyTorch项目反馈