String常用方法

一、String常用方法

1.Sting对象的初始化

1
2
3
String S="1"

S="2";

面向对象的初始化格式:

1
2
3
String S =new String("1");

S=new String("字符串");

2.字符串的常用操作

1)chatAt 方法

charAt 方法的作用是按照意引值(规定字符申中第一个字得的索引值是0.第二个字的索引值是1、依次类推)获得字符事中的指定字间。例如:

1
2
3
String S="abc"

char c = S.char(1);

则变量c的值是b

2)cotmpareTo 方法

compareTo方法的作用是比较两个字符申的大小,原理是依次比较每个字符的字行。码第一果一字符的符编码大于第二个字符电的字符编码、则返回大于0的值;如果小于,则返回小于0的值;如果相等。则比较后续的字符。如果两字符编码完全相同,返回0。

1
2
3
4
5
String s="abc";

String s1="abd";

int value=s.compareTo(s1);

3)coneat 方法

concat方法的作用是连接字符申,得到一个新的字符串。例如:

1
2
3
4
5
String s="abe" ;

String s1="def";

String s2=s.concat(s1):

则连接以后生成的新字符串s2的值是”abcdef”,而字符串s和sl的值不变。在实际使用时,有一种简单的语法形式,即使用“+”连接字符串。例如:

1
String s-"abc"+"1234";

则字符串s的值是”abc1234”。这样书写,更加简单、直观。
运算符“+”,不仅可以连接字符串,还可以连接其他数据类型。“+”匹配的顺序是从左向右,如果两边连接的内容都是基本数字类型,则按照加法运算;如果参与连接的内容有一个是字符串,才按照字符事进行连接。

例如:

1
2
int a=10;
String s="123*+a+5;

则连接以后,字符串s的值是“123105”,计算的过程为:首先连接字符串”123和变量:的值,生成字符串”12310”;然后,将该字符串和数字5连接,得到最终的结果。

4)ends With 方法

endsWith 方法的作用是判断字符串是否以某个字符串结尾,如果以对应的字符串结尾,返回true。例如:

1
2
String s="student.doc";
boolean b=s.endswith("doc"):

则变量 b的值是 true

5)equnls 方法

equals方法的作用是判断两个字符串对象的内容是否相同。如果相同,返回true,否则返回false。例如:

1
2
3
4
string s ="abc";
string s1=new String("abc");

boolean b=s.equals(s1);

使用“==”比较的是两个对象在内存中存储的地址是否相同。例如,上述代码中,如果判断:
boolean b=(s==1);
则变量b的值是false。因为s对象对应的是”abc”的地址,而sl使用new关键字申请新的内存,所以内存地址和s的”abc”的地址不同,所以得到的值是false。
在String类中有一个类似的方法equalslgnoreCase,其作用是忽略大小写比较两个字符串的内容是否相同。

6)indexOf 方法

indexOf方法的作用是查找特定字符或字符串在当前字符串中的起始位置。 如果不存
在,返回一1。例如:

1
2
3
4
5
6
String s="abcded";
int index0=s.indexof('d');

int indexl=s.indexOf('h');

int index2=s.indexOf('d',4);

index0返回字符d在字符串s中第一次出现的位置,数值为3。由于字符h在字符串s中不存在,则indexl的值是一1。index2返回从索引值4(包括4)以后的字符中第一个出现的字符d,其值为5。

7)length 方法

length方法的作用是返回字符串的长度,也就是返回字符串中字符的个数。中文字符也是一个字符。例如:

1
2
3
4
5
6
String s="abc";
String s1="Java 语言";

int len=s.length();

int len1=s1.length();

则变量 len 的值是3,变量 len1 的值是6。

8)replace 方法

replace方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。调该方法以后,原来的字符串不发生改变。例如:

1
2
String s="abcat";
String s1=s.replace('a', '1');

其作用是将字符串s中所有的字符a替换成字符1.生成的新字符串 s1的值是”1bclt”符串s的内容不变。
如果需要将字符串中某个指定的字符串替换为其他字符串,使用replaceAll 方例如:

1
2
String s="abatbac";
String s1=s.replaceAll("ba","12");

其作用是将字符串s中所有的字符串”ab”替换为”12”,生成新的字符串”a12t12c”,字符串!的内容不变。

9)split方法

split方法的作用是以特定的字符串作为间隔,拆分当前字符串的内容。一般情况下拆分以后得到一个字符串数组。例如:

1
2
String s="ab,12,df";
String s1[]=s.split(",");

其作用是以字符串”,”作为间隔,拆分字符串s,得到拆分以后的字符串数组s1,其内容为{“ab”,”12”,”df”}。
它是解析字符串的基础方法。
如果在字符串内部存在和间隔字符串相同的内容,将拆除空字符串,尾部的空字符串被忽略。例如:

1
2
String se"abbcbtbb";
String s1[l-s.split("b");

则拆分出的结果字符串数组s1的内容为(“a”,” “,”c”,”t”。拆分出的中间的空字符串的数量等于中间间隔字符串的数量减1个。例如:

1
2
3
String s-"abbbcbtbbb";

String s1[]=s.split("b");

则拆分出的结果是{“a”,” “,” “,”e”,”t”}。

10)startsWith 方法

startsWith方法的作用和endsWith方法类似,只是该方法判断字符串是否以某个字符串作为开始。例如:

1
2
String s="TestGame";
boolean b=g.startsWith ("Test");

则变量b的值是true。

11)substring 方法

substring 方法的作用是取字符串中的子电。例如:

1
2
3
4
5
String s "Teststring"; 

String s1=s.substring(2);

String sl=s.substring(2,5);

sl是取字符串s中索引值为2(包括2)以后的所有字符作为子串,其值为”ststring”。s2是取字符串s中从索引值2(包括2)开始,到索引值5(不包括5)的部分作为子串,其值为”stS”。下面是一段简单的应用代码,作用是输出任意一个字符串的所有子串。

1
2
3
4
5
string s="子串示例";
int len=s.length(); //获得字符串长度
for (int begin=0; begin<len-1; begin++){ //起始索引值
for(int end=begin+l; end <=len; end++)( //结束索引值
system.out.println(s.substring(begin, end));

在该代码中,循环变量begin代表需要获得的子串的起始索引值,其变化区间从第一个字符的索引值0到倒数第二个字符串的索引值len-2;end代表需要获得的子串的结束索
引值,其变化的区间从起始索引值的后续一个到字符串长度。通过循环嵌套,可以谝历字符
串中的所有子串。

12)toCharArray方法

toCharArray方法的作用和getBytes方法类似,即将字符串转换为对应的char数组例如:

1
2
String s="abc";
char[] c=s.toCharArray();

则字符数组c的值为{‘a’,’b’,’c’}。

13)toLowerCase方法

toLowerCase方法的作用是将字符串中所有的大写字符转换为小写。例如:

1
2
String s-"AbC123";
String sl=s.toLowerCase();

则字符串sl的值是”abc123”,而字符串s的值不变。
类似的方法是toUpperCase,其作用是将字符串中的小写字符转换为对应的大写字符。例如:

1
2
String s="AbC123";
String s1=s.toUpperCase0);

则字符串 sl的值是”ABC123”,而字符串s的值不变。

14)trim 方法

trim方法的作用是去掉字符串开始和结尾的所有空格,形成一个新的字符串。该方不去掉字符串中间的空格。例如:

1
2
String s-" abc abc 123 "; 
String sl=s.trim();

则字符串 sl的值为”abc abc 123”,字符串s的值不变。

15)valueOf 方法

valueOf方法的作用是将其他类型的数据转换为字符串类型。需要注意的是,基本数据和字符串对象之间不能使用强制类型转换的语法进行转换。另外,由于该方法是static方法,所以不用创建String类型的对象。例如:

1
2
int n=10;
String s=String.valueOf(n);

则字符串s的值是”10”。虽然对于程序员来说,没有发生什么变化,但是对于程序来说,数据的类型发生了变化。
介绍一个简单的应用,判断一个自然数是几位数字的代码如下。

1
2
3
4
int n=12345;
string s=String.valueOf(n);

int len=s.length();

字符串的长度 len代表该自然数的位数。这种判断比数学判断方法在逻辑上要简单一些
关于 String 类的使用就介绍这些,其他方法以及这里介绍的方法的详细声明可以参习对应的API文档。


String常用方法
https://1902756969.github.io/Hexo/2022/09/01/java基础/String常用方法/
作者
发布于
2022年9月1日
许可协议