String : 字串類型,在這裡帶大家分享Java中String類別的實例教學
一、建構子
String(byte[ ] bytes):透過byte數組建構字串物件。
String(char[ ] value):透過char陣列建構字串物件。
String(Sting original):建構一個original的副本。即:拷貝一個original。
String(StringBuffer buffer):透過StringBuffer陣列建構字串物件。
例如:
byte[] b = {'a','b','c','d','e','f','g','h','i','j'}; char[] c = {'0','1','2','3','4','5','6','7','8','9'}; String sb = new String(b); //abcdefghij String sb_sub = new String(b,3,2); //de String sc = new String(c); //0123456789 String sc_sub = new String(c,3,2); //34 String sb_copy = new String(sb); //abcdefghij System.out.println("sb:"+sb); System.out.println("sb_sub:"+sb_sub); System.out.println("sc:"+sc); System.out.println("sc_sub:"+sc_sub); System.out.println("sb_copy:"+sb_copy);
輸出結果:sb:abcdefghij
sc:0123456789
sb_copy:abcdefghij
二、方法:
說明:①、所有方法皆為public。
②、書寫格式: [修飾符] <傳回型別><方法名([參數清單])>## 方法(parseInt)為類別方法(static),傳回類型為(int),方法所需為String類型。
例如:
String s = new String("abcdefghijklmnopqrstuvwxyz"); System.out.println("s.charAt(5): " + s.charAt(5) );
2. int compareTo(String anotherString) :目前String物件與anotherString比較。相等關係回傳0;不相等時,從兩個字串第0個字元開始比較,傳回第一個不相等的字元差,另一種情況,較長字串的前面部分恰巧是較短的字串,返回它們的長度差。
3. int compareTo(
o) :如果o是String對象,和2的函數一樣;否則拋出ClassCastException異常。
例如:
String s1 = new String("abcdefghijklmn"); String s2 = new String("abcdefghij"); String s3 = new String("abcdefghijalmn"); System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差 System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差
7. static String copyValueOf(char[] data, int offset, int count) :這兩個方法將char陣列轉換成String,與其中一個構造函數類似。
8. boolean endsWith(String suffix) :該String物件是否以suffix結尾。
例如:
String s1 = new String("abcdefghij"); String s2 = new String("ghij"); System.out.println("s1.endsWith(s2): " + s1.endsWith(s2) );
char[] s1 = {'I',' ','l','o','v','e',' ','h','e','r','!'};//s1=I love her! String s2 = new String("you!"); s2.getChars(0,3,s1,7); //s1=I love you! System.out.println( s1 );
16. int indexOf(String str, int fromIndex) :從fromIndex開始找第一個符合字串位置。
例如:
String s = new String("write once, run anywhere!"); String ss = new String("run"); System.out.println("s.indexOf('r'): " + s.indexOf('r') ); System.out.println("s.indexOf('r',2): " + s.indexOf('r',2) ); System.out.println("s.indexOf(ss): " + s.indexOf(ss) );
结果为:s.indexOf('r'): 1
s.indexOf('r',2): 12
s.indexOf(ss): 12
17. int lastIndexOf(int ch)
18. int lastIndexOf(int ch, int fromIndex)
19. int lastIndexOf(String str)
20. int lastIndexOf(String str, int fromIndex) 以上四个方法与13、14、15、16类似,不同的是:找最后一个匹配的内容。
public class CompareToDemo { public static void main (String[] args) { String s1 = new String("acbdebfg"); System.out.println(s1.lastIndexOf((int)'b',7)); } }
运行结果:5
(其中fromIndex的参数为 7,是从字符串acbdebfg的最后一个字符g开始往前数的位数。既是从字符c开始匹配,寻找最后一个匹配b的位置。所以结果为 5)
21. int length() :返回当前字符串长度。
22. String replace(char oldChar, char newChar) :将字符号串中第一个oldChar替换成newChar。
23. boolean startsWith(String prefix) :该String对象是否以prefix开始。
24. boolean startsWith(String prefix, int toffset) :该String对象从toffset位置算起,是否以prefix开始。
例如:
String s = new String("write once, run anywhere!"); String ss = new String("write"); String sss = new String("once"); System.out.println("s.startsWith(ss): " + s.startsWith(ss) ); System.out.println("s.startsWith(sss,6): " + s.startsWith(sss,6) );
结果为:s.startsWith(ss): true
s.startsWith(sss,6): true
25. String substring(int beginIndex) :取从beginIndex位置开始到结束的子字符串。
26.String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。
27. char[ ] toCharArray() :将该String对象转换成char数组。
28. String toLowerCase() :将字符串转换成小写。
29. String toUpperCase() :将字符串转换成大写。
例如:
String s = new String("java.lang.Class String"); System.out.println("s.toUpperCase(): " + s.toUpperCase() ); System.out.println("s.toLowerCase(): " + s.toLowerCase() );
结果为:s.toUpperCase(): JAVA.LANG.CLASS STRING
s.toLowerCase(): java.lang.class string
30. static String valueOf(boolean b)
31. static String valueOf(char c)
32. static String valueOf(char[] data)
33. static String valueOf(char[] data, int offset, int count)
34. static String valueOf(double d)
35. static String valueOf(float f)
36. static String valueOf(int i)
37. static String valueOf(long l)
38. static String valueOf(Object obj)
以上方法用于将各种不同类型转换成Java字符型。这些都是类方法。
Java中String类的常用方法:
public char charAt(int index) 返回字符串中第index个字符; public int length() 返回字符串的长度; public int indexOf(String str) 返回字符串中第一次出现str的位置; public int indexOf(String str,int fromIndex) 返回字符串从fromIndex开始第一次出现str的位置; public boolean equalsIgnoreCase(String another) 比较字符串与another是否一样(忽略大小写); public String replace(char oldchar,char newChar) 在字符串中用newChar字符替换oldChar字符 public boolean startsWith(String prefix) 判断字符串是否以prefix字符串开头; public boolean endsWith(String suffix) 判断一个字符串是否以suffix字符串结尾; public String toUpperCase() 返回一个字符串为该字符串的大写形式; public String toLowerCase() 返回一个字符串为该字符串的小写形式 public String substring(int beginIndex) 返回该字符串从beginIndex开始到结尾的子字符串; public String substring(int beginIndex,int endIndex) 返回该字符串从beginIndex开始到endsIndex结尾的子字符串 public String trim() 返回该字符串去掉开头和结尾空格后的字符串 public String[] split(String regex) 将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组
实例:
public class SplitDemo{ public static void main (String[] args) { String date = "2008/09/10"; String[ ] dateAfterSplit= new String[3]; dateAfterSplit=date.split("/"); //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。 for(int i=0;i<dateAfterSplit.length;i++) System.out.print(dateAfterSplit[i]+" "); } }
运行结果:2008 09 10 //结果为分割后的3个字符串
实例:
TestString1.java:程序代码public class TestString1{ public static void main(String args[]) { String s1 = "Hello World" ; String s2 = "hello world" ; System.out.println(s1.charAt(1)) ; System.out.println(s2.length()) ; System.out.println(s1.indexOf("World")) ; System.out.println(s2.indexOf("World")) ; System.out.println(s1.equals(s2)) ; System.out.println(s1.equalsIgnoreCase(s2)) ; String s = "我是J2EE程序员" ; String sr = s.replace('我','你') ; System.out.println(sr) ; }} TestString2.java:
程序代码
public class TestString2 { public static void main(String args[]) { String s = "Welcome to Java World!" ; String s2 = " magci " ; System.out.println(s.startsWith("Welcome")) ; System.out.println(s.endsWith("World")) ; String sL = s.toLowerCase() ; String sU = s.toUpperCase() ; System.out.println(sL) ; System.out.println(sU) ; String subS = s.substring(11) ; System.out.println(subS) ; String s1NoSp = s2.trim() ; System.out.println(s1NoSp) ; }
【相关推荐】
1. java中String是对象还是类?详解java中的String
3. Java中String类的常用方法是什么?总结Java中String类的常用方法
以上是分享Java中String類別的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!