普通方法

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);//巴山楚水麒麟昂蒂

字符串常见方法总结:方法的作用、参数、返回值(构造方法可省略)相关推荐

  1. java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回

    java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...

  2. 使用反射获得jar包中的类、方法、参数、返回值类型,然后动态加载jar包运行方法

    其实我的需求是在系统中 测试用户导入的jar包,所有网上找了很多解决方案,踩过很多坑,再加上以前搞c++的,对java不是很熟, 这里特意记录下,算是基本满足需求了 使用反射获得jar包中的类.方法. ...

  3. java方法的重载与覆盖的返回值类型

    public class A extends B{//下面的是方法的覆盖(重写overRiding)public void riding(){System.out.println("this ...

  4. atitit.架构设计---方法调用结果使用异常还是返回值

    atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...

  5. mysql_ping()函数的作用以及返回值的类型正确的是,[单选] mysql_ping()函数的作用以及返回值的类型正确的是:()...

    [单选] mysql_ping()函数的作用以及返回值的类型正确的是:() 更多相关问题 中华田园犬,雄性,2岁,昨晚外出未归,今晨发现患犬精神沉郁,呼吸急促,体温39℃,左胸侧壁中下部有创 1884 ...

  6. 学习大数据的第13天——Java面向对象(接口、分析参数返回值的类型不同时如何解决、包以及访问权限修饰符(public、protected、默认、private))

    学习大数据的第13天--Java面向对象(接口.分析参数返回值的类型不同时如何解决.包以及访问权限修饰符(public.protected.默认.private)) 接口 接口的基本定义: 1.1.语 ...

  7. python3 限定方法参数 返回值 变量 类型

    typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints) 类型检查,防止运行时出现参数和返回值类型.变量类型不符合. 作为开发文档附加说明,方 ...

  8. c# mysql executescalar为什么返回值是空_C#中ExecuteReader()、ExecuteNonQuery()、ExecuteScalar()方法的作用 | 学步园...

    ExecuteReader    将 CommandText 发送到 Connection 并生成一个 SqlDataReader    执行返回行的命令. 为了提高性能,ExecuteReader  ...

  9. java 参数返回_Java基础---Java中带参数返回值方法的使用(四十)

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...

  10. Java基础---Java中带参数返回值方法的使用(四十)

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 Stri ...

最新文章

  1. 照相机模型与增强现实(相机标定)
  2. 关于服务器启动慢的问题
  3. 文本分类入门(九)文本分类问题的分类
  4. python中的字典推导式_17.python 字典推导式(经典代码)
  5. 【LCT】城市旅行(luogu 4842/金牌导航 LCT-3)
  6. 顺序表应用2:多余元素删除之建表算法(SDUT 3325)
  7. 安卓手机如何防盗_iphone手机换成安卓手机后如何转移便签备忘录数据?
  8. [见得多了就懂了]食物链
  9. axure7.0 汉化包下载
  10. matlab 密集,matlab – 全局和parfor
  11. matlab灵敏度分析绘图——道路最大通行能力
  12. 公有云与私有云优劣势调研
  13. zookeeper指北
  14. kill linux 苹果_Linux 下的KILL函数的用法
  15. ppt2016保存.html,PPT做完以后,按了保存就消失不见了,怎么找到原来的PPT?
  16. 呆萌却实际可怕的动物:蛇鹫会踢腿 大熊猫攻击凶猛
  17. 【暗时间】摘录 - 为什么你应该从现在开始就写博客
  18. 手机html点击按钮复制,网页文字无法复制?按下手机这个键即可复制!网友:厉害了...
  19. UI交互设计好学吗?如何成为优秀设计师
  20. ITE6561 联阳(ite) Type-C转HDMI芯片

热门文章

  1. 【C++入门篇】深入理解函数重载
  2. 买了xbox的这两年
  3. 【区块链开发指南】区块链基础之区块和交易
  4. 如何更改电脑桌面壁纸,换上自己想要的壁纸?
  5. ER图、功能图画图必备Vi.sio
  6. 先验概率、后验概率、似然估计三者的区别与联系
  7. Vue2.5从零开发猫眼④——Home页开发
  8. 已注销主体的公众号迁移办理流程及方法
  9. 【计算机视觉】:(3)全景图像拼接
  10. 【neutron】OpenStack Neutron -- 学习资料