Java String、StringBuilder、StringBuffer、StringTokenizers
String一旦设置就无法更改。如果更改,则会额外消耗。
StringBuffer(线程安全)和StringBuilder(效率高)
String:
public class StringTest { public static void main(String args[] ){ parameterTest(); String test="123";String test1="456"; show(test.concat(test1)); } public static void show(String s) { System.out.println(s); } public static void parameterTest() { //String 无参数 String nopara="parameterNoNeeded"; show(nopara); String nopara1=new String("hello"); show(nopara1); //String(byte[] byte,[int off-set],[int length])构造方法 byte[] bt= {115,67,123,46,88,122}; String bytePara=new String(bt); String bytePara1=new String(bt,2,3); show(bytePara);show(bytePara1); //String(char[] char,[int off-set],[int length])构造方法 char[] ct= {'i','w','i','n','t','h','i','s'}; String charPara=new String(ct); String charPara1=new String(ct,3,2); show(charPara);show(charPara1); } }
String常用


StringBuilder
public class StringBuilderTest { public static void main(String args[]) { //可改变的字符串 StringBuilder sb=new StringBuilder();//16个字符的默认SB对象 StringBuilder sb12=new StringBuilder(12);//12个字符 StringBuilder sbstr=new StringBuilder("Hello");//str+16个字符大小的SB对象 //StringBuilder常用方法 sb.append("Hello,World!");show(sb); //append() sb12.append(sb,3,7);show(sb12); sb.delete(3,7);show(sb); //delete(begin,end) sb.insert(3,true);show(sb); //insert(offset,基本类型c) sb.replace(0, 1, "D");show(sb); //replace(start, end, str) sb12.reverse();show(sb12); //reverse()翻转 show(sb.capacity());show(sb.length())//方法capacity()\length() sbstr.setLength(12); //setLength()重新设置长度 sb.charAt(5); //第i个字符的位置 char []c=new char[3]; sb.getChars(0, 2, c, 0);//复制,getChars(Begin, End, char[]src, srcBegin);从begin到End-1的位置 sb.setCharAt(1, 'g');//更换字符 } public static void show(StringBuilder s) { System.out.println(s); } public static void show(int i) { System.out.println(i); } }
StringTokenizer类:在util包中
public class StringTokenizerTest { public static void main(String args[]) { String s="This%is!the$way#we@work"; String delim="%!$#@"; StringTokenizer st=new StringTokenizer(s); StringTokenizer stWithDelim=new StringTokenizer(s,delim); StringTokenizer st2=new StringTokenizer(s,delim,true); //保留delim在其中 System.out.println(st.countTokens()); //countTokens() while(st.hasMoreTokens()) { //hasMoreTokens() System.out.println(st.nextToken()); //nextToken() } System.out.println(); while(stWithDelim.hasMoreTokens()) { System.out.println(stWithDelim.nextToken()); } while(st2.hasMoreTokens()) { System.out.println(st2.nextToken()); } } }


浙公网安备 33010602011771号