数组转字符串
1 public static void main(String[] args) { 2 int[] arr = {54,542,231,3,21}; 3 System.out.println(array2String(arr)); 4 } 5 public static String array2String(int[] arr) { 6 StringBuffer sb = new StringBuffer(); 7 sb.append("["); 8 for (int i = 0; i < arr.length; i++) { 9 if (i == arr.length - 1) { 10 sb.append(arr[i]).append("]"); 11 } else { 12 sb.append(arr[i]).append(", "); 13 } 14 } 15 return sb.toString(); 16 }
键盘录入字符串反转
1 import java.util.Scanner; 2 3 public class test5 { 4 5 public static void main(String[] args) { 6 Scanner sc = new Scanner(System.in); 7 String line = sc.nextLine(); 8 System.out.println(rev2String(line)); 9 } 10 11 public static String rev2String(String line) { 12 StringBuffer sb = new StringBuffer(line); 13 sb.reverse(); 14 return sb.toString(); 15 16 } 17 }
StringBuffer和StringBuilder的区别
StringBuffer是jbk1.0版本的,是线程安全的,效率低
StringBuilder是jdk1.5版本的,是线程不全安的,效率高
String和StringBuffer与StringBuilder的区别
String是一个不可变的字符序列
StringBuffer,StringBuilder 是可变的字符序列
1 /* 形式参数问题 2 * String作为参数传递 3 * StringBuffer作为参数传递 4 * 5 * 基本数据类型的值传递,不改变其值 6 * 引用数据类型的值传递,可以改变其值 7 * 8 * String类虽然是引用数据类型,但是他作为参数传递是和基本数据类型是一样的 9 * */ 10 public static void main(String[] args) { 11 String s="heima"; 12 System.out.println(s); 13 Change(s); 14 System.out.println(s); 15 16 StringBuffer sb =new StringBuffer(); 17 sb.append("heima"); 18 System.out.println(sb); 19 Change(sb); 20 System.out.println(sb); 21 22 } 23 24 public static void Change(StringBuffer sb) { 25 sb.append("baima"); 26 27 } 28 29 public static void Change(String s) { 30 s +="itcast"; 31 32 }
参数传递
String作为参数传递
StringBuffer作为参数传递