java之StringBuilder StringBuffer String
在使用 StringBuffer 或StringBuilder 类时,每次都会对对象本身进行操作,而不是像String生成新的对象
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的
StringBuilder StringBuffer(方法基本相同) 常用方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 StringBuilder sb = new StringBuilder ();System.out.println(sb.length()); System.out.println(sb.capacity()); sb.append("hello" ); System.out.println(sb); sb.append(1 ).append("world" ).append(2 ); System.out.println(sb); sb.setCharAt(5 , ' ' ); System.out.println(sb); sb.insert(0 , 0 ); System.out.println(sb); sb.delete(6 , 14 ); System.out.println(sb);
1 2 3 4 5 6 7 8 9 10 11 public StringBuffer append (Object o) ;public StringBuffer reverse () ;public delete (int start, int end) ;public insert (int offset, Object o) replace(int start, int end, String str); ...其他String方法...
String 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 new String ({ 'h' , 'e' , 'l' , 'l' , 'o' , '.' });String.concat(String); String+String; System.out.println(String.format("The value of %f, while variable is %d, and is %s" , 2.2 , 2 , "de" )); char charAt (int index) ;int compareTo (String s) ; int compareToIgnoreCase (String s) ;String concat (String str) ; static String copyValueOf (char [] data , [int offset, int count]) ;boolean endsWith (String suffix) ;boolean equals (Object anObject) ;boolean equalsIgnoreCase (String anotherString) ;byte [] getBytes([String charSet]);int hashCode () ; int indexOf (int ch, [int fromIndex]) ; int indexOf (String str, [int fromIndex]) ; ...lastIndexOf... boolean matches (String regex) ;String replace (char oldChar, char newChar) ; String replaceAll (String regex, String replacement; // 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 String replaceFirst(String regex, String replacement) ;String[] split(String regex, [int limit]); boolean startsWith (String prefix) ;CharSequence subSequence (int beginIndex, int endIndex) ; String substring (int beginIndex, [int endIndex]) ; char [] toCharArray();String toLowerCase () ; String toUpperCase () ; String trim () ; static String valueOf (primitive data type x) ;
之间的转换 1 2 3 4 5 6 7 8 String str = "hello" ;StringBuilder sb = new StringBuilder (str);System.out.println(sb); String s = sb.toString();System.out.println(s);