Java中String类的方法及说明
发布时间:2020-12-14 06:23:45 所属栏目:Java 来源:网络整理
导读:p align="center"span style="text-decoration: underline;"span style="font-size: 18pt;" a href="http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html"gt;? p align="left" 一、构造函数 p align="left"???? String( byte[ ] bytes ): 通过
<p align="center"><span style="text-decoration: underline;"><span style="font-size: 18pt;"><a href="http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html">? <p align="left">一、构造函数 <p align="left">???? String(byte[ ] bytes):通过byte数组构造字符串对象。 <p align="left">???? String(char[ ] value):通过char数组构造字符串对象。 <p align="left">???? String(Sting original):构造一个original的副本。即:拷贝一个original。 <p align="left">???? String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。?? <p align="left">例如: <p align="left">????? byte[] b = {'a','b','c','d','e','f','g','h','i','j'}; <p align="left">????? char[] c = {'0','1','2','3','4','5','6','7','8','9'}; <p align="left">????? String sb = new String(b);???????????????? //abcdefghij <p align="left">????? String sb_sub = new String(b,3,2);???? //de <p align="left">????? String sc = new String(c);????????????????? //0123456789 <p align="left">????? String sc_sub = new String(c,2);??? //34 <p align="left">????? String sb_copy = new String(sb);?????? //abcdefghij?? <p align="left">????? System.out.println("sb:"+sb); <p align="left">????? System.out.println("sb_sub:"+sb_sub); <p align="left">????? System.out.println("sc:"+sc); <p align="left">????? System.out.println("sc_sub:"+sc_sub); <p align="left">????? System.out.println("sb_copy:"+sb_copy); <p align="left">?????输出结果:sb:abcdefghij <p align="left">????????????????????? sb_sub:de <p align="left">?????????????????? ??? sc:0123456789 <p align="left">??????????????????????? sc_sub:4 <p align="left">???????????????????? ?? sb_copy:abcdefghij <p align="left">二、方法: <p align="left">???? 说明:①、所有方法均为public。 <p align="left">?????????? ②、书写格式: [修饰符] <返回类型><方法名([参数列表])> <p align="left">????? 例如:static int parseInt(String s) <p align="left">????? 表示此方法(parseInt)为类方法(static),返回类型为(int),方法所需要为String类型。 <p align="left">1. char charAt(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。 <p align="left">??? 例如:String s = new String("abcdefghijklmnopqrstuvwxyz"); <p align="left">????????? System.out.println("s.charAt(5): " + s.charAt(5) ); <p align="left">????????? 结果为: s.charAt(5): f <p align="left">2. int compareTo(String anotherString) :当前String对象与anotherString比较。相等关系返回0;不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。 <p align="left">3. int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。 <p align="left">??? 例如:String s1 = new String("abcdefghijklmn"); <p align="left">??????????? String s2 = new String("abcdefghij"); <p align="left">?????????? String s3 = new String("abcdefghijalmn"); <p align="left">?????????? System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差 <p align="left">?????????? System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差 <p align="left">?????????? 结果为:s1.compareTo(s2): 4 <p align="left">???????????????? ????? s1.compareTo(s3): 10 <p align="left">4. String concat(String str) :将该String对象与str连接在一起。 <p align="left">5. boolean contentEquals(StringBuffer sb) :将该String对象与StringBuffer对象sb进行比较。 <p align="left">6. static String copyValueOf(char[] data) : <p align="left">7. static String copyValueOf(char[] data,int offset,int count) :这两个方法将char数组转换成String,与其中一个构造函数类似。 <p align="left">8. boolean endsWith(String suffix) :该String对象是否以suffix结尾。 <p align="left">??? 例如:String s1 = new String("abcdefghij"); <p align="left">?????????? String s2 = new String("ghij"); <p align="left">?????????? System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) ); <p align="left">?????????? 结果为:s1.endsWith(s2): true <p align="left">9. boolean equals(Object anObject) :当anObject不为空并且与当前String对象一样,返回true;否则,返回false。 <p align="left">10. byte[] getBytes() :将该String对象转换成byte数组。 <p align="left">11. void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin) :该方法将字符串拷贝到字符数组中。其中,srcBegin为拷贝的起始位置、srcEnd为拷贝的结束位置、字符串数值dst为目标字符数组、dstBegin为目标字符数组的拷贝起始位置。 <p align="left">???? 例如:char[] s1 = {'I',' ','l','o','v','r','!'};//s1=I love her! <p align="left">?????????? String s2 = new String("you!"); s2.getChars(0,s1,7); //s1=I love you! <p align="left">?????????? System.out.println( s1 ); <p align="left">?????????? 结果为:I love you! <p align="left">12. int hashCode() :返回当前字符的哈希表码。 <p align="left">13. int indexOf(int ch) :只找第一个匹配字符位置。 <p align="left">14. int indexOf(int ch,int fromIndex) :从fromIndex开始找第一个匹配字符位置。 <p align="left">15. int indexOf(String str) :只找第一个匹配字符串位置。 <p align="left">16. int indexOf(String str,int fromIndex) :从fromIndex开始找第一个匹配字符串位置。 <p align="left">????? 例如:String s = new String("write once,run anywhere!"); <p align="left">????????????? String ss = new String("run"); <p align="left">????????????? System.out.println("s.indexOf('r'): " + s.indexOf('r') ); <p align="left">????????????? System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) ); <p align="left">????????????? System.out.println("s.indexOf(ss): " + s.indexOf(ss) ); <p align="left">????????????? 结果为:s.indexOf('r'): 1 <p align="left">????????????????????? s.indexOf('r',2): 12 <p align="left">????????????????????? s.indexOf(ss): 12 <p align="left">17. int lastIndexOf(int ch) <p align="left">18. int lastIndexOf(int ch,int fromIndex) <p align="left">19. int lastIndexOf(String str) <p align="left">20. int lastIndexOf(String str,int fromIndex) 以上四个方法与13、14、15、16类似,不同的是:找最后一个匹配的内容。 <p align="left">public class CompareToDemo { <p align="left">????? public static void main (String[] args) { <p align="left">?? ??????? String s1 = new String("acbdebfg"); <p align="left">????? <p align="left">??????? ?? System.out.println(s1.lastIndexOf((int)'b',7)); <p align="left">???? } <p align="left">} <p align="left">运行结果:5 <p align="left">?????? (其中fromIndex的参数为 7,是从字符串acbdebfg的最后一个字符g开始往前数的位数。既是从字符c开始匹配,寻找最后一个匹配b的位置。所以结果为 5) <p align="left">? <p align="left">? <p align="left">21. int length() :返回当前字符串长度。 <p align="left">22. String replace(char oldChar,char newChar) :将字符号串中第一个oldChar替换成newChar。 <p align="left">23. boolean startsWith(String prefix) :该String对象是否以prefix开始。 <p align="left">24. boolean startsWith(String prefix,int toffset) :该String对象从toffset位置算起,是否以prefix开始。 <p align="left">???? 例如:String s = new String("write once,run anywhere!"); <p align="left">???????????? String ss = new String("write"); <p align="left">???????????? String sss = new String("once"); <p align="left">???????????? System.out.println("s.startsWith(ss): " + s.startsWith(ss) ); <p align="left">???????????? System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) ); <p align="left">???????????? 结果为:s.startsWith(ss): true <p align="left">???????????????????? s.startsWith(sss,6): true <p align="left">25. String substring(int beginIndex) :取从beginIndex位置开始到结束的子字符串。 <p align="left">26.String substring(int beginIndex,int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。 <p align="left">27. char[ ] toCharArray() :将该String对象转换成char数组。 <p align="left">28. String toLowerCase() :将字符串转换成小写。 <p align="left">29. String toUpperCase() :将字符串转换成大写。 <p align="left">???? 例如:String s = new String("java.lang.Class String"); <p align="left">???????????? System.out.println("s.toUpperCase(): " + s.toUpperCase() ); <p align="left">???????????? System.out.println("s.toLowerCase(): " + s.toLowerCase() ); <p align="left">???????????? 结果为:s.toUpperCase(): JAVA.LANG.CLASS STRING <p align="left">????????????????? s.toLowerCase(): java.lang.class string <p align="left">30. static String valueOf(boolean b) <p align="left">31. static String valueOf(char c) <p align="left">32. static String valueOf(char[] data) <p align="left">33. static String valueOf(char[] data,int count) <p align="left">34. static String valueOf(double d) <p align="left">35. static String valueOf(float f) <p align="left">36. static String valueOf(int i) <p align="left">37. static String valueOf(long l) <p align="left">38. static String valueOf(Object obj) <p align="left">???? 以上方法用于将各种不同类型转换成Java字符型。这些都是类方法。 <p align="left">三、 Java中String类的常用方法: <p align="left">public char charAt(int index) <p align="left">返回字符串中第index个字符; <p align="left">public int length() <p align="left">返回字符串的长度; <p align="left">public int indexOf(String str) <p align="left">返回字符串中第一次出现str的位置; <p align="left">public int indexOf(String str,int fromIndex) <p align="left">返回字符串从fromIndex开始第一次出现str的位置; <p align="left">public boolean equalsIgnoreCase(String another) <p align="left">比较字符串与another是否一样(忽略大小写); <p align="left">public String replace(char oldchar,char newChar) <p align="left">在字符串中用newChar字符替换oldChar字符 <p align="left">public boolean startsWith(String prefix) <p align="left">判断字符串是否以prefix字符串开头; <p align="left">public boolean endsWith(String suffix) <p align="left">判断一个字符串是否以suffix字符串结尾; <p align="left">public String toUpperCase() <p align="left">返回一个字符串为该字符串的大写形式; <p align="left">public String toLowerCase() <p align="left">返回一个字符串为该字符串的小写形式 <p align="left">public String substring(int beginIndex) <p align="left">返回该字符串从beginIndex开始到结尾的子字符串; <p align="left">public String substring(int beginIndex,int endIndex) <p align="left">返回该字符串从beginIndex开始到endsIndex结尾的子字符串 <p align="left">public String trim() <p align="left">返回该字符串去掉开头和结尾空格后的字符串 <p align="left">public String[] split(String regex) <p align="left">将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组 <p align="left">实例:?? <p align="left">public class SplitDemo{ <p align="left">???? public static void main (String[] args) { <p align="left">? <p align="left">???????????? String date = "2008/09/10"; <p align="left">??????????? String[ ] dateAfterSplit= new String[3]; <p align="left">??????????? dateAfterSplit=date.split("/");???????? //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。 <p align="left">? <p align="left">??????????? for(int i=0;i<dateAfterSplit.length;i++) <p align="left">??? ?????????????????? System.out.print(dateAfterSplit[i]+" "); <p align="left">????? } <p align="left">} <p align="left">? <p align="left">运行结果:2008 09 10????????? //结果为分割后的3个字符串 <p align="left">实例: <p align="left">TestString1.java: <p align="left">程序代码 <p align="left">public class TestString1 <p align="left">{ <p align="left">??? public static void main(String args[]) { <p align="left">??????? String s1 = "Hello World" ; <p align="left">??????? String s2 = "hello world" ; <p align="left">??????? System.out.println(s1.charAt(1)) ; <p align="left">??????? System.out.println(s2.length()) ; <p align="left">??????? System.out.println(s1.indexOf("World")) ; <p align="left">??????? System.out.println(s2.indexOf("World")) ; <p align="left">??????? System.out.println(s1.equals(s2)) ; <p align="left">??????? System.out.println(s1.equalsIgnoreCase(s2)) ; <p align="left">??????? String s = "我是J2EE程序员" ; <p align="left">??????? String sr = s.replace('我','你') ; <p align="left">??????? System.out.println(sr) ; <p align="left">??? } <p align="left">} <p align="left">TestString2.java: <p align="left">程序代码 <p align="left">public class TestString2 <p align="left">{ <p align="left">??? public static void main(String args[]) { <p align="left">??????? String s = "Welcome to Java World!" ; <p align="left">??????? String s2 = "?? magci?? " ; <p align="left">??????? System.out.println(s.startsWith("Welcome")) ; <p align="left">??????? System.out.println(s.endsWith("World")) ; <p align="left">??????? String sL = s.toLowerCase() ; <p align="left">??????? String sU = s.toUpperCase() ; <p align="left">??????? System.out.println(sL) ; <p align="left">??????? System.out.println(sU) ; <p align="left">??????? String subS = s.substring(11) ; <p align="left">??????? System.out.println(subS) ; <p align="left">??????? String s1NoSp = s2.trim() ; <p align="left">??????? System.out.println(s1NoSp) ; <p align="left">??? } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |