标签:
1 package cn.hello; 2 3 /* 4 * 5 * StringBuffer:线程安全的可变字符串 6 * 7 * StringBuffer和String的区别:前者长度很内容可变,若使用前者拼接,不会太浪费空间 8 * 9 * StringBuffer 的构造 10 * StringBuffer() 11 * StringBuffer(int capacity): 指定容量的字符串缓冲区 12 * StringBuffer(String str): 指定内容的字符串缓冲区对象 13 * 14 * StringBuffer的方法 15 * public int capacity:容量(理论值) 16 * public int length:长度(实际值) 17 * */ 18 19 public class Test01 { 20 public static void main(String[] args) { 21 StringBuffer ss=new StringBuffer(); 22 System.out.println(ss.capacity()); //16; 23 System.out.println(ss.length()); //0 24 25 StringBuffer s2=new StringBuffer(50); 26 System.out.println(s2.capacity()); //16 27 System.out.println(s2.length()); //0 28 29 StringBuffer s3=new StringBuffer("hello"); 30 System.out.println(s3.capacity()); 31 System.out.println(s3.length()); 32 } 33 }
1 package cn.hello; 2 3 /* 4 * StringBuffer的添加功能 5 * public StringBuffer append(String str) 可以把任意类型传入,并返回缓冲区本身 6 * public StringBuffer insert(int offset,String str) 7 * 8 * StringBuffer的删除功能 9 * public StringBuffer deleteCharAt(int index) 10 * public StringBuffer delete(int start,int end) 11 * 替换功能 12 * public StringBuffer replace(int start, int end, String str) 13 * 反转功能 14 * public StringBuffer reverse() 15 * 16 * */ 17 18 public class Test01 { 19 public static void main(String[] args) { 20 StringBuffer s1 = new StringBuffer(); 21 // 添加功能 22 /* 23 * StringBuffer s2=s1.append("hello"); 24 * System.out.println(s1.equals(s2)); 25 */// 由此可见,追加之后返回的是本身,并没有新开空间 26 /* 27 * s1.append("hello"); s1.append(2); s1.append(2.2); // 一步一步添加数据 28 * s1.append(true); s1.append(‘c‘); 29 */ 30 31 // 方式2 链式添加 32 33 // insert() 34 s1.append("hello"); 35 s1.insert(4, "world"); 36 System.out.println(s1); // hellworldo 37 38 } 39 }
1 package cn.hello; 2 3 /* 4 * 5 * 6 * StringBuffer的删除功能 7 * public StringBuffer deleteCharAt(int index) 删除指定位置的字符,并返回本身 8 * public StringBuffer delete(int start,int end) 从指定位置开始到指定结束位置 删除内容,并返回本身 9 * 10 * 11 * */ 12 13 public class Test01 { 14 public static void main(String[] args) { 15 StringBuffer s1 = new StringBuffer(); 16 17 s1.append("hello").append("world").append("java"); 18 19 //删除 e 这个字符 20 s1.deleteCharAt(1); 21 System.out.println(s1); //hlloworldjava 22 23 //delete 24 //删除world 25 s1.delete(4, 9); 26 System.out.println(s1); //hllojava 27 28 //删除所有数据 29 s1.delete(0,s1.length()); 30 System.out.println(s1); 31 32 } 33 }
1 package cn.hello; 2 3 /* 4 * 5 * 6 * StringBuffer的替换功能 7 * public StringBuffer replace(int start,int end ,String str) 8 * 9 * 10 * 11 * */ 12 13 public class Test01 { 14 public static void main(String[] args) { 15 StringBuffer s1 = new StringBuffer(); 16 17 s1.append("hello").append("world"); 18 System.out.println(s1); 19 //把world 替换为“节日快乐" 20 s1.replace(5, 10, "节日快乐"); 21 System.out.println(s1); 22 23 24 } 25 }
1 package cn.hello; 2 3 /* 4 * 5 * 6 *StringBuffer的反转功能 7 * public StringBuffer reverse() 8 * 9 * 10 * 11 * */ 12 13 public class Test01 { 14 public static void main(String[] args) { 15 StringBuffer s1 = new StringBuffer(); 16 17 s1.append("hello").append("world").append("java"); 18 System.out.println(s1); 19 s1.reverse(); 20 System.out.println(s1); 21 22 23 } 24 }
1 package cn.hello; 2 3 /* 4 * 5 * 6 *StringBuffer的截取功能 7 * public String substring(int start) 返回的是字符串 8 * public String substring(int start,int end) 返回的是字符串 9 * 10 * 11 * 12 * */ 13 14 public class Test01 { 15 public static void main(String[] args) { 16 StringBuffer s1 = new StringBuffer(); 17 18 s1.append("hello").append("world").append("java"); 19 System.out.println(s1); 20 21 22 String s=s1.substring(5); 23 System.out.println(s); 24 System.out.println(s1); 25 26 27 } 28 }
1 package cn.hello; 2 3 /* 4 * String 和 StringBuffer 的相互转换 5 * 把String 转换为 StringBuffer 是为了使用StringBuffer的特殊功能 6 * 7 * 8 * */ 9 10 public class Test01 { 11 public static void main(String[] args) { 12 String s="hello"; 13 14 //String ->StringBuffer 15 //方式1 16 StringBuffer s1 = new StringBuffer(s); 17 System.out.println(s1); 18 //方式2 19 StringBuffer s2=new StringBuffer(); 20 s2.append(s); 21 System.out.println(s2); 22 23 24 //StringBuffer -> String 25 StringBuffer s3=new StringBuffer("tttttt"); 26 //方式1 27 String sq=new String(s3); 28 //方式2 29 String sq2=s3.toString(); 30 System.out.println(sq); 31 System.out.println(sq2); 32 } 33 }
1 package cn.hello; 2 3 /* 4 * 把数组拼接成一个字符串 5 * */ 6 7 public class Test01 { 8 public static void main(String[] args) { 9 //定义一个数组 10 int[] arr={44,33,22,11,33}; 11 12 //方式1 用String拼接 13 String s1=arrayToString(arr); 14 System.out.println(s1); 15 //方式2 用StringBuffer拼接 16 String s2=arr(arr); 17 System.out.println(s2); 18 } 19 20 public static String arr(int[] arr){ 21 StringBuffer sw=new StringBuffer(); 22 sw.append("["); 23 for(int i=0;i<arr.length;i++){ 24 if(i==arr.length-1){ 25 sw.append(arr[i]+"]"); 26 }else{ 27 sw.append(arr[i]+" , "); 28 } 29 } 30 31 32 return sw.toString(); 33 } 34 35 public static String arrayToString(int[] arr){ 36 String s=""; 37 s+="["; 38 for(int i=0;i<arr.length;i++){ 39 if(i==arr.length-1){ 40 s+=arr[i]+"]"; 41 }else{ 42 s+=arr[i]+" , "; 43 } 44 } 45 return s; 46 } 47 }
标签:
原文地址:http://www.cnblogs.com/chengling/p/4765719.html