字符串常见方法总结:方法的作用、参数、返回值(构造方法可省略)
普通方法
1.字符串比较(equals)
当想要比较两个字符串内容是否相等时,必须使用equals()方法而不能使用==关系运算符
public class Main {public static void main(String[] args) {String s1 = "hello";String s2 = "hello";System.out.println(s1 == s2);System.out.println(s1.equals(s2));}
}
从表面上看,两个字符串用==和equals()比较都为true,但实际上那只是Java编译器在编译期,会自动把所有相同的字符串当作一个对象放入常量池,s1和s2的引用地址是相同的,结构为true,换一种写法,==比较就会失败。
public class Main {public static void main(String[] args) {String s1 = "hello";String s2 = "HELLO".toLowerCase();System.out.println(s1 == s2);System.out.println(s1.equals(s2));}
}
2.字符串的搜索
使用indexof()方法可以从字符串的首部进行搜索,当前字符串中指定子字符串的下标,返回值为int类型,如果存在,则返回该子字符串的下标位置,如果不存在,则返回-1;
lastIndexOf()方法是从字符串的尾部进行搜索,返回值与indexOf()方法一致;
startsWith()和endsWith()方法是用于判断字符串是否以指定字符串开头或结尾,返回值为boolean类型;
contains()方法用于查找当前字符串中是否存在指定子字符串,返回值为boolean类型。
public static void main(String[] args) {String s1="just do IT do myelf do";int v1=s1.indexOf("do");System.out.println(v1);int v2=s1.indexOf("wo");System.out.println(v2);int v3=s1.indexOf("do");System.out.println(v3);int v4=s1.lastIndexOf("su");System.out.println(v4);System.out.println("------------");//从指定位置开始查找"子字符串"int v5=s1.indexOf("do",v1+1);System.out.println(v5);
}
//从指定位置开始查找"子字符串"
int v5=s1.indexOf("do",v1+1);
3.截取子字符串
使用substring()方法可以从当前字符串中,截取指定下标区间的子字符串。
"大漠孤烟直".substring(2); // 孤烟直
"大漠孤烟直".substring(0,2); // 大漠
4.去除首尾空白字符
trim()方法可以移除字符串首尾空白字符,空白字符包括空格,\t,\r,\n;
String line="\t\t\r\na\tbc\t";//去除字符串"两端"空格换行(空白字符)line=line.trim();System.out.println(line);//a bcSystem.out.println(line.length());//4
5.替换字符串
String str="渭城朝雨急急急,客舍青青柳色新";str=str.replace('雨', '雾');str=str.replace('青', '绿');str=str.replace('雨', '霞').replace('青','绿');str=str.replace("渭城", "渭城区");System.out.println(str);//渭城区朝雾急急急,客舍绿绿柳色新String str1="\"You\" (or \"Your\") sha1ll mean; an individu2al,or Legal En4tity exercisin9g. permissions granted by this License.";str1=str1.replaceAll("[\"\\,\\.\\;]", "#")//替换标点符号.replaceAll("[0-9]", "");//替换所有的数字System.out.println(str1);//#You# (or #Your#) shall mean# an individual#or Legal Entity exercising# permissions granted by this License#
6.分割字符串
要分割字符串,使用split()方法,
String line="北京,天津,广州,深圳,曹县";//切割字符串String[] cityArray=line.split("\\,");for(String city:cityArray) {System.out.println(city);//北京
// 天津
// 广州
// 深圳
// 曹县}System.out.println();//按照数字,切割字符串line="北京0天津1广州2深圳3曹县";cityArray=line.split("[0-9]");for(String city:cityArray) {System.out.println(city);北京
// 天津
// 广州
// 深圳
// 曹县}
静态方法
7.拼接字符串
拼接字符串使用静态方法join(),它用指定的字符串连接字符串数组
String s1="北京",s2="天津",s3="广州",s4="户县";String result1=String.join("#", s1,s2,s3);System.out.println(result1);//北京#天津#广州String[] cityArray= {"成都","南京","大连","西安","户县","曹县"};String result2=String.join("^_^", cityArray);System.out.println(result2);//成都^_^南京^_^大连^_^西安^_^户县^_^曹县String result3=s1.join("#", cityArray);//不推荐System.out.println(result3);//成都#南京#大连#西安#户县#曹县
8,格式化字符串
字符串提供了format()静态方法,可以传入其他参数,替换占位符,然后生成新的字符串
String result4=String.format("城市1:%s\n城市2:%s\n城市3:%s\n城市4:%s\n", s1,s2,s3,s4);System.out.println(result4);
// 城市1:北京
// 城市2:天津
// 城市3:广州
// 城市4:户县String result5=String.format("城市1:%s\n城市2:%s\n城市3:%s\n城市4:%s\n",cityArray);System.out.println(result5);
// 城市1:成都
// 城市2:南京
// 城市3:大连
// 城市4:西安
9类型转换
要把任意基本类型或引用类型转换为字符串,可以使用静态方法valueof().
int number=23944;//不推荐//String strNum=number+"";//推荐String strNum=String.valueOf(number);//使用String类的value方法进行转换if(strNum.indexOf("9")>=0) {System.out.println("包含9");}else {System.out.println("不包含9");}//包含9
String strNum="5600";//转换成整数int number1=Integer.parseInt(strNum);System.out.println(++number1);//5601//转换成doublestrNum="3.1415";double number2=Double.parseDouble(strNum);System.out.println(number2*10);//31.415000000000003//转换成booleanString strBool="true";boolean bool=Boolean.parseBoolean(strBool);System.out.println(bool);//trueString s="23";
10转换为char[]字符数组
String和char[]类型可以相互转换
String s="巴山楚水麒麟昂蒂";//将字符串转换为字符数组char[] array=s.toCharArray();System.out.println(array);//巴山楚水麒麟昂蒂//将字符数组转换成字符串String content=new String(array);System.out.println(content);//巴山楚水麒麟昂蒂
字符串常见方法总结:方法的作用、参数、返回值(构造方法可省略)相关推荐
- java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回
java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...
- 使用反射获得jar包中的类、方法、参数、返回值类型,然后动态加载jar包运行方法
其实我的需求是在系统中 测试用户导入的jar包,所有网上找了很多解决方案,踩过很多坑,再加上以前搞c++的,对java不是很熟, 这里特意记录下,算是基本满足需求了 使用反射获得jar包中的类.方法. ...
- java方法的重载与覆盖的返回值类型
public class A extends B{//下面的是方法的覆盖(重写overRiding)public void riding(){System.out.println("this ...
- atitit.架构设计---方法调用结果使用异常还是返回值
atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...
- mysql_ping()函数的作用以及返回值的类型正确的是,[单选] mysql_ping()函数的作用以及返回值的类型正确的是:()...
[单选] mysql_ping()函数的作用以及返回值的类型正确的是:() 更多相关问题 中华田园犬,雄性,2岁,昨晚外出未归,今晨发现患犬精神沉郁,呼吸急促,体温39℃,左胸侧壁中下部有创 1884 ...
- 学习大数据的第13天——Java面向对象(接口、分析参数返回值的类型不同时如何解决、包以及访问权限修饰符(public、protected、默认、private))
学习大数据的第13天--Java面向对象(接口.分析参数返回值的类型不同时如何解决.包以及访问权限修饰符(public.protected.默认.private)) 接口 接口的基本定义: 1.1.语 ...
- python3 限定方法参数 返回值 变量 类型
typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints) 类型检查,防止运行时出现参数和返回值类型.变量类型不符合. 作为开发文档附加说明,方 ...
- c# mysql executescalar为什么返回值是空_C#中ExecuteReader()、ExecuteNonQuery()、ExecuteScalar()方法的作用 | 学步园...
ExecuteReader 将 CommandText 发送到 Connection 并生成一个 SqlDataReader 执行返回行的命令. 为了提高性能,ExecuteReader ...
- java 参数返回_Java基础---Java中带参数返回值方法的使用(四十)
Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...
- Java基础---Java中带参数返回值方法的使用(四十)
Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...
最新文章
- 照相机模型与增强现实(相机标定)
- 关于服务器启动慢的问题
- 文本分类入门(九)文本分类问题的分类
- python中的字典推导式_17.python 字典推导式(经典代码)
- 【LCT】城市旅行(luogu 4842/金牌导航 LCT-3)
- 顺序表应用2:多余元素删除之建表算法(SDUT 3325)
- 安卓手机如何防盗_iphone手机换成安卓手机后如何转移便签备忘录数据?
- [见得多了就懂了]食物链
- axure7.0 汉化包下载
- matlab 密集,matlab – 全局和parfor
- matlab灵敏度分析绘图——道路最大通行能力
- 公有云与私有云优劣势调研
- zookeeper指北
- kill linux 苹果_Linux 下的KILL函数的用法
- ppt2016保存.html,PPT做完以后,按了保存就消失不见了,怎么找到原来的PPT?
- 呆萌却实际可怕的动物:蛇鹫会踢腿 大熊猫攻击凶猛
- 【暗时间】摘录 - 为什么你应该从现在开始就写博客
- 手机html点击按钮复制,网页文字无法复制?按下手机这个键即可复制!网友:厉害了...
- UI交互设计好学吗?如何成为优秀设计师
- ITE6561 联阳(ite) Type-C转HDMI芯片