String常用的方法有哪些?
根据功能大致可分为:常见String类的获取,常见String类的判断,常见String类的转换,常见String类的其他常用功能;
获取功能常用的方法有以下几种:
public class Test1 { public static void main(String[] args) { String str="Hello,siri"; //length():获取字符串的长度 System.out.println(str+"的长度为:"+str.length()); //charAt():获取指定索引处的字符 System.out.println(str+"指定索引处的字符为:"+str.charAt(8)); //indexOf("l"):获取指定字符第一次出现的位置 System.out.println(str+"中,指定字符第一次出现的位置为:"+str.indexOf("l")); //substring():获取从指定位置开始到末尾的子字符串 System.out.println("截取"+str+"子字符串为:"+str.substring(4)); //substring():获取从指定位置开始到指定位置(不包含右边)结束的子字符串 System.out.println("截取"+str+"子字符串为:"+str.substring(4,6)); } }
输出如下所示:
Hello,siri的长度为:10 Hello,siri指定索引处的字符为:r Hello,siri中,指定字符第一次出现的位置为:2 截取Hello,siri子字符串为:o,siri 截取Hello,siri子字符串为:o,
判断功能常用的方法有以下几种:
public class Test1 { public static void main(String[] args) { String str1="Hello,siri"; String str2="hello"; //equals():比较两个字符串的内容是否相同,区分大小写 System.out.println("字符串"+str1+"和"+str2+"是否内容相同?"+str1.equals(str2)); //contains():判断字符串是否包含传递进来的字符串 System.out.println("字符串"+str1+"是否包含"+str2+"?"+str1.contains(str2)); //startsWith():判断字符串是否以传递进来的字符串开头 System.out.println("字符串"+str1+"是否以"+str2+"开头?"+str1.startsWith(str2)); //endsWith():判断字符串是否以传递进来的字符串结尾 System.out.println("字符串"+str1+"是否以"+str2+"结尾?"+str1.startsWith(str2)); //isEmpty():判断字符串的内容是否为空串 System.out.println(str1+"是否为空串?"+str1.isEmpty()); System.out.println(str2+"是否为空串?"+str2.isEmpty()); } }
输出如下所示:
字符串Hello,siri和hello是否内容相同?false 字符串Hello,siri是否包含hello?false 字符串Hello,siri是否以hello开头?false 字符串Hello,siri是否以hello结尾?false Hello,siri是否为空串?false hello是否为空串?false
转换功能常用的方法有以下几种:
举例:
public class Test { public static void main(String[] args) { //getBytes():将字符串转化为字节数组--->一个字节数组,每个元素都表示字符串中对应位置的字符的ASCII码值 String str="abcdefg"; byte[] bytelist = str.getBytes(); for(byte key: bytelist){ System.out.println(key); } //toCharArray():将字符串转化为字符数组 char[] toCharArray=str.toCharArray(); for(char key: toCharArray){ System.out.println(key); } //valueOf():将字符数组转换成字符串,ValueOf可以将任意类型转为字符串 System.out.println( String.valueOf(toCharArray)); String string="Hello,SiRi"; String string1="Good evening"; //toLowerCase():将字符串转为小写 System.out.println(string+"转换为小写:"+string.toLowerCase()); //toUpperCase():将字符串转为大写 System.out.println(string+"转换为大写:"+string.toUpperCase()); //concat():实现字符串的拼接 System.out.println(string+"和"+string1+"拼接的结果为:"+string.concat(string1)); } }
输出如下:
97 98 99 100 101 102 103 a b c d e f g abcdefg Hello,SiRi转换为小写:hello,siri Hello,SiRi转换为大写:HELLO,SIRI Hello,SiRi和Good evening拼接的结果为:Hello,SiRiGood evening
关于String的其他常用功能如下所示:
public class Test { public static void main(String[] args) { String string1="I Love Xian"; //将指定的字符进行互换 System.out.println(string1.replace('e','p')); //将指定的字符串进行互换 System.out.println(string1.replace(string1,"I Love Beijing")); //trim():去除字符串两端的空格 String string2=" I Love Shanghai "; System.out.println(string2.trim()); } }
输出:
I Lovp Xian I Love Beijing I Love Shanghai
java中的compareTo方法:
如下所示:
public class Test { public static void main(String[] args) { //当两个字符串的首字母不相同时,返回首字母之间的ASCII差值 String str1="abc"; String str2="ccd"; System.out.println(str1.compareTo(str2)); //当两个字符串的首字母相同时,则往后进行比较,直到出现字符不同的,返回其ASCII差值 String str3="abc"; String str4="abg"; System.out.println(str3.compareTo(str4)); //当两个字符串的长度不同,但可参与比较的字符都是相同时,返回其字符串长度的差值 String str5="abc"; String str6="abc1234567"; System.out.println(str5.compareTo(str6)); } }
输出如下所示:
-2 -4 -7
注意:compareTo方法不能用来进行数字之间的比较,且进行字符比较的过程中是不区分大小写的