String常用方法
一、String常用方法
1.Sting对象的初始化
1 |
|
面向对象的初始化格式:
1 |
|
2.字符串的常用操作
1)chatAt 方法
charAt 方法的作用是按照意引值(规定字符申中第一个字得的索引值是0.第二个字的索引值是1、依次类推)获得字符事中的指定字间。例如:
1 |
|
则变量c的值是b
2)cotmpareTo 方法
compareTo方法的作用是比较两个字符申的大小,原理是依次比较每个字符的字行。码第一果一字符的符编码大于第二个字符电的字符编码、则返回大于0的值;如果小于,则返回小于0的值;如果相等。则比较后续的字符。如果两字符编码完全相同,返回0。
1 |
|
3)coneat 方法
concat方法的作用是连接字符申,得到一个新的字符串。例如:
1 |
|
则连接以后生成的新字符串s2的值是”abcdef”,而字符串s和sl的值不变。在实际使用时,有一种简单的语法形式,即使用“+”连接字符串。例如:
1 |
|
则字符串s的值是”abc1234”。这样书写,更加简单、直观。
运算符“+”,不仅可以连接字符串,还可以连接其他数据类型。“+”匹配的顺序是从左向右,如果两边连接的内容都是基本数字类型,则按照加法运算;如果参与连接的内容有一个是字符串,才按照字符事进行连接。
例如:
1 |
|
则连接以后,字符串s的值是“123105”,计算的过程为:首先连接字符串”123和变量:的值,生成字符串”12310”;然后,将该字符串和数字5连接,得到最终的结果。
4)ends With 方法
endsWith 方法的作用是判断字符串是否以某个字符串结尾,如果以对应的字符串结尾,返回true。例如:
1 |
|
则变量 b的值是 true
5)equnls 方法
equals方法的作用是判断两个字符串对象的内容是否相同。如果相同,返回true,否则返回false。例如:
1 |
|
使用“==”比较的是两个对象在内存中存储的地址是否相同。例如,上述代码中,如果判断:
boolean b=(s==1);
则变量b的值是false。因为s对象对应的是”abc”的地址,而sl使用new关键字申请新的内存,所以内存地址和s的”abc”的地址不同,所以得到的值是false。
在String类中有一个类似的方法equalslgnoreCase,其作用是忽略大小写比较两个字符串的内容是否相同。
6)indexOf 方法
indexOf方法的作用是查找特定字符或字符串在当前字符串中的起始位置。 如果不存
在,返回一1。例如:
1 |
|
index0返回字符d在字符串s中第一次出现的位置,数值为3。由于字符h在字符串s中不存在,则indexl的值是一1。index2返回从索引值4(包括4)以后的字符中第一个出现的字符d,其值为5。
7)length 方法
length方法的作用是返回字符串的长度,也就是返回字符串中字符的个数。中文字符也是一个字符。例如:
1 |
|
则变量 len 的值是3,变量 len1 的值是6。
8)replace 方法
replace方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。调该方法以后,原来的字符串不发生改变。例如:
1 |
|
其作用是将字符串s中所有的字符a替换成字符1.生成的新字符串 s1的值是”1bclt”符串s的内容不变。
如果需要将字符串中某个指定的字符串替换为其他字符串,使用replaceAll 方例如:
1 |
|
其作用是将字符串s中所有的字符串”ab”替换为”12”,生成新的字符串”a12t12c”,字符串!的内容不变。
9)split方法
split方法的作用是以特定的字符串作为间隔,拆分当前字符串的内容。一般情况下拆分以后得到一个字符串数组。例如:
1 |
|
其作用是以字符串”,”作为间隔,拆分字符串s,得到拆分以后的字符串数组s1,其内容为{“ab”,”12”,”df”}。
它是解析字符串的基础方法。
如果在字符串内部存在和间隔字符串相同的内容,将拆除空字符串,尾部的空字符串被忽略。例如:
1 |
|
则拆分出的结果字符串数组s1的内容为(“a”,” “,”c”,”t”。拆分出的中间的空字符串的数量等于中间间隔字符串的数量减1个。例如:
1 |
|
则拆分出的结果是{“a”,” “,” “,”e”,”t”}。
10)startsWith 方法
startsWith方法的作用和endsWith方法类似,只是该方法判断字符串是否以某个字符串作为开始。例如:
1 |
|
则变量b的值是true。
11)substring 方法
substring 方法的作用是取字符串中的子电。例如:
1 |
|
sl是取字符串s中索引值为2(包括2)以后的所有字符作为子串,其值为”ststring”。s2是取字符串s中从索引值2(包括2)开始,到索引值5(不包括5)的部分作为子串,其值为”stS”。下面是一段简单的应用代码,作用是输出任意一个字符串的所有子串。
1 |
|
在该代码中,循环变量begin代表需要获得的子串的起始索引值,其变化区间从第一个字符的索引值0到倒数第二个字符串的索引值len-2;end代表需要获得的子串的结束索
引值,其变化的区间从起始索引值的后续一个到字符串长度。通过循环嵌套,可以谝历字符
串中的所有子串。
12)toCharArray方法
toCharArray方法的作用和getBytes方法类似,即将字符串转换为对应的char数组例如:
1 |
|
则字符数组c的值为{‘a’,’b’,’c’}。
13)toLowerCase方法
toLowerCase方法的作用是将字符串中所有的大写字符转换为小写。例如:
1 |
|
则字符串sl的值是”abc123”,而字符串s的值不变。
类似的方法是toUpperCase,其作用是将字符串中的小写字符转换为对应的大写字符。例如:
1 |
|
则字符串 sl的值是”ABC123”,而字符串s的值不变。
14)trim 方法
trim方法的作用是去掉字符串开始和结尾的所有空格,形成一个新的字符串。该方不去掉字符串中间的空格。例如:
1 |
|
则字符串 sl的值为”abc abc 123”,字符串s的值不变。
15)valueOf 方法
valueOf方法的作用是将其他类型的数据转换为字符串类型。需要注意的是,基本数据和字符串对象之间不能使用强制类型转换的语法进行转换。另外,由于该方法是static方法,所以不用创建String类型的对象。例如:
1 |
|
则字符串s的值是”10”。虽然对于程序员来说,没有发生什么变化,但是对于程序来说,数据的类型发生了变化。
介绍一个简单的应用,判断一个自然数是几位数字的代码如下。
1 |
|
字符串的长度 len代表该自然数的位数。这种判断比数学判断方法在逻辑上要简单一些
关于 String 类的使用就介绍这些,其他方法以及这里介绍的方法的详细声明可以参习对应的API文档。