本文共 11487 字,大约阅读时间需要 38 分钟。
Java String 类
字符数组参数创建字符串public class StringDemo{ public static void main(String args[]){ char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'}; String helloString = new String(helloArray); System.out.println( helloString ); }}/*以上实例编译运行结果如下:runoob*/
String 类的静态方法 format() 能用来创建可复用的格式化字符串
String str=null; str=String.format("Hi,%s", "小超"); System.out.println(str); 以上实例编译运行结果如下: Hi,小超
String 方法
1 char charAt(int index) 返回指定索引处的 char 值。public class Test { public static void main(String args[]) { String s = "www.runoob.com"; char result = s.charAt(6); System.out.println(result); }}以上程序执行结果为:n
2 int compareTo(Object o)
把这个字符串和另一个对象比较。 如果参数字符串等于此字符串,则返回值 0; 如果此字符串小于字符串参数,则返回一个小于 0 的值; 如果此字符串大于字符串参数,则返回一个大于 0 的值。 3 int compareTo(String anotherString) 按字典顺序比较两个字符串。4 int compareToIgnoreCase(String str)
按字典顺序比较两个字符串,不考虑大小写。 如果参数字符串等于此字符串,则返回值 0; 如果此字符串小于字符串参数,则返回一个小于 0 的值; 如果此字符串大于字符串参数,则返回一个大于 0 的值。 5 String concat(String str) 将指定字符串连接到此字符串的结尾。public class Test { public static void main(String args[]) { String s = "菜鸟教程:"; s = s.concat("www.runoob.com"); System.out.println(s); }}以上程序执行结果为:菜鸟教程:www.runoob.com
6 boolean contentEquals(StringBuffer sb)
contentEquals() 方法用于将此字符串与指定的 StringBuffer 比较 当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。 如字符串与指定 StringBuffer 表示相同的字符序列,则返回 true;否则返回 false。 7 static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的 String。 8 static String copyValueOf(char[] data, int offset, int count) 返回指定数组中表示该字符序列的 String。public class Test { public static void main(String args[]) { char[] Str1 = { 'h', 'e', 'l', 'l', 'o', ' ', 'r', 'u', 'n', 'o', 'o', 'b'}; String Str2 = ""; Str2 = Str2.copyValueOf( Str1 ); System.out.println("返回结果:" + Str2); Str2 = Str2.copyValueOf( Str1, 2, 6 ); System.out.println("返回结果:" + Str2); }}以上程序执行结果为:返回结果:hello runoob返回结果:llo ru
9 boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。public class Test { public static void main(String args[]) { String Str = new String("菜鸟教程:www.runoob.com"); boolean retVal; retVal = Str.endsWith( "runoob" ); System.out.println("返回值 = " + retVal ); retVal = Str.endsWith( "com" ); System.out.println("返回值 = " + retVal ); }}以上程序执行结果为:返回值 = false返回值 = true
10 boolean equals(Object anObject)
将此字符串与指定的对象比较。11 boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。12 byte[] getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。13 byte[] getBytes(String charsetName)
使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。//这俩有啥用??!!淦14 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此字符串复制到目标字符数组。public class Test { public static void main(String args[]) { String Str1 = new String("www.runoob.com"); char[] Str2 = new char[6]; Str1.getChars(4, 10, Str2, 0); System.out.print("拷贝的字符串为:" ); System.out.println(Str2 ); 以上程序执行结果为: 拷贝的字符串为:runoob
15 int hashCode()
返回此字符串的哈希码。16 int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。 17 int indexOf(int ch, int fromIndex) 返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 18 int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。 19 int indexOf(String str, int fromIndex) 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。public class Main { public static void main(String args[]) { String string = "aaa456ac"; //查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1. System.out.println(string.indexOf("b")); // indexOf(String str); 返回结果:-1,"b"不存在 // 从第四个字符位置开始往后继续查找,包含当前位置 System.out.println(string.indexOf("a",3));//indexOf(String str, int fromIndex); 返回结果:6 //(与之前的差别:上面的参数是 String 类型,下面的参数是 int 类型)参考数据:a-97,b-98,c-99 // 从头开始查找是否存在指定的字符 System.out.println(string.indexOf(99));//indexOf(int ch);返回结果:7 System.out.println(string.indexOf('c'));//indexOf(int ch);返回结果:7 //从fromIndex查找ch,这个是字符型变量,不是字符串。字符a对应的数字就是97。 System.out.println(string.indexOf(97,3));//indexOf(int ch, int fromIndex); 返回结果:6 System.out.println(string.indexOf('a',3));//indexOf(int ch, int fromIndex); 返回结果:6 }}输出结果为:-167766
20 String intern()
返回字符串对象的规范化表示形式。 intern方法的作用是:如果字符串常量池中已经包含一个字符串等于此String对象的字符串,则返回常量池中的这个String对应的对象, 否则将其添加到常量池并返回常量池中的引用。21 int lastIndexOf(int ch)
返回指定字符在此字符串中最后一次出现处的索引。22 int lastIndexOf(int ch, int fromIndex)
返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 23 int lastIndexOf(String str) 返回指定子字符串在此字符串中最右边出现处的索引。 24 int lastIndexOf(String str, int fromIndex) 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。public class Test { public static void main(String args[]) { String Str = new String("菜鸟教程:www.runoob.com"); String SubStr1 = new String("runoob"); String SubStr2 = new String("com"); System.out.print("查找字符 o 最后出现的位置 :" ); System.out.println(Str.lastIndexOf( 'o' )); System.out.print("从第14个位置查找字符 o 最后出现的位置 :" ); System.out.println(Str.lastIndexOf( 'o', 14 )); System.out.print("子字符串 SubStr1 最后出现的位置:" ); System.out.println( Str.lastIndexOf( SubStr1 )); System.out.print("从第十五个位置开始搜索子字符串 SubStr1最后出现的位置 :" ); System.out.println( Str.lastIndexOf( SubStr1, 15 )); System.out.print("子字符串 SubStr2 最后出现的位置 :" ); System.out.println(Str.lastIndexOf( SubStr2 )); }}以上程序执行结果为:查找字符 o 最后出现的位置 :17从第14个位置查找字符 o 最后出现的位置 :13子字符串 SubStr1 最后出现的位置:9从第十五个位置开始搜索子字符串 SubStr1最后出现的位置 :9子字符串 SubStr2 最后出现的位置 :16
25 int length()
返回此字符串的长度。 26 boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式。//后面再说public class Test { public static void main(String args[]) { String Str = new String("www.runoob.com"); System.out.print("返回值 :" ); System.out.println(Str.matches("(.*)runoob(.*)")); System.out.print("返回值 :" ); System.out.println(Str.matches("(.*)google(.*)")); System.out.print("返回值 :" ); System.out.println(Str.matches("www(.*)")); }}以上程序执行结果为:返回值 :true返回值 :false返回值 :true
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
测试两个字符串区域是否相等。 如果字符串的指定子区域匹配字符串参数的指定子区域,则返回 true;否则返回 falsepublic class Test { public static void main(String args[]) { String Str1 = new String("www.runoob.com"); String Str2 = new String("runoob"); String Str3 = new String("RUNOOB"); System.out.print("返回值 :" ); System.out.println(Str1.regionMatches(4, Str2, 0, 5)); System.out.print("返回值 :" ); System.out.println(Str1.regionMatches(4, Str3, 0, 5)); System.out.print("返回值 :" ); System.out.println(Str1.regionMatches(true, 4, Str3, 0, 5));//如果为 true,则比较字符时忽略大小写。 }}以上程序执行结果为:返回值 :true返回值 :false返回值 :true
28 boolean regionMatches(int toffset, String other, int ooffset, int len)
测试两个字符串区域是否相等。//同上29 String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。public class Test { public static void main(String args[]) { String Str = new String("hello"); System.out.print("返回值 :" ); System.out.println(Str.replace('o', 'T')); System.out.print("返回值 :" ); System.out.println(Str.replace('l', 'D')); }}以上程序执行结果为:返回值 :hellT返回值 :heDDo
//看不懂
**30 String replaceAll(String regex, String replacement) 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。public class Test { public static void main(String args[]) { String Str = new String("www.google.com"); System.out.print("匹配成功返回值 :" ); System.out.println(Str.replaceAll("(.*)google(.*)", "runoob" )); System.out.print("匹配失败返回值 :" ); System.out.println(Str.replaceAll("(.*)taobao(.*)", "runoob" )); }}以上程序执行结果为:匹配成功返回值 :runoob匹配失败返回值 :www.google.com
31 String replaceFirst(String regex, String replacement)
使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。32 String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。 33 String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。//看不懂
34 boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开始。**35 boolean startsWith(String prefix, int toffset)
测试此字符串从指定索引开始的子字符串是否以指定前缀开始。public class Test { public static void main(String args[]) { String Str = new String("www.runoob.com"); System.out.print("返回值 :" ); System.out.println(Str.startsWith("www") ); System.out.print("返回值 :" ); System.out.println(Str.startsWith("runoob") ); System.out.print("返回值 :" ); System.out.println(Str.startsWith("runoob", 4) ); }}以上程序执行结果为:返回值 :true返回值 :false返回值 :true
36 CharSequence subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,它是此序列的一个子序列。public class Test { public static void main(String args[]) { String Str = new String("www.runoob.com"); System.out.print("返回值 :" ); System.out.println(Str.subSequence(4, 10) ); }}以上程序执行结果为:返回值 :runoob
37 String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。public class Test { public static void main(String args[]) { String Str = new String("www.runoob.com"); System.out.print("返回值 :" ); System.out.println(Str.substring(4) ); System.out.print("返回值 :" ); System.out.println(Str.substring(4, 10) ); }}以上程序执行结果为:返回值 :runoob.com返回值 :runoob
38 String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。//同上在这里插入代码片
39 char[] toCharArray()
将此字符串转换为一个新的字符数组。public class Test { public static void main(String args[]) { String Str = new String("www.runoob.com"); System.out.print("返回值 :" ); System.out.println( Str.toCharArray() ); }}以上程序执行结果为:返回值 :www.runoob.com
40 String toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。public class Test { public static void main(String args[]) { String Str = new String("WWW.RUNOOB.COM"); System.out.print("返回值 :" ); System.out.println( Str.toLowerCase() ); }}以上程序执行结果为:返回值 :www.runoob.com
41 String toLowerCase(Locale locale)
使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。//同上42 String toString()
返回此对象本身(它已经是一个字符串!)。//你妈的有什么用呢public class Test { public static void main(String args[]) { String Str = new String("WWW.RUNOOB.COM"); System.out.print("返回值 :" ); System.out.println( Str.toString() ); }}以上程序执行结果为:返回值 :WWW.RUNOOB.COM
43 String toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。44 String toUpperCase(Locale locale)
使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。45 String trim()
返回字符串的副本,忽略前导空白和尾部空白。public class Test { public static void main(String args[]) { String Str = new String(" www.runoob.com "); System.out.print("原始值 :" ); System.out.println( Str ); System.out.print("删除头尾空白 :" ); System.out.println( Str.trim() ); }}
46 static String valueOf(primitive data type x)
返回给定data type类型x参数的字符串表示形式。public class Test { public static void main(String args[]) { double d = 1100.00; boolean b = true; long l = 1234567890; char[] arr = { 'r', 'u', 'n', 'o', 'o', 'b' }; System.out.println("返回值 : " + String.valueOf(d) ); System.out.println("返回值 : " + String.valueOf(b) ); System.out.println("返回值 : " + String.valueOf(l) ); System.out.println("返回值 : " + String.valueOf(arr) ); }}以上程序执行结果为:返回值 : 1100.0返回值 : true返回值 : 1234567890返回值 : runoob
转载地址:http://ktcki.baihongyu.com/