1 /** 2 * java.lang.String: 3 * 复制字符串内容到字节数组中; 4 * 字符串连接:一个字符串添加到另一个字符串后面; 5 * 替换:字符替换、字符串替换; 6 * 匹配和替换; 7 * 多种类型数据转成字符串类型; 8 * 字符串与字符数组的转换; 9 * 判断是否包含字符串; 10 * 字节数组与字符串的转换; 11 */ 12 package lang; 13 14 import java.util.Arrays; 15 16 public class StringDemo 17 { 18 public static void main(String[] args) 19 { 20 String str = "asdfghj"; 21 char[] ch = new char[str.length()]; 22 // 复制字符串内容到字节数组中 23 str.getChars(0, str.length(), ch, 0); 24 System.out.println(Arrays.toString(ch)); 25 26 String str2 = new String("123456"); 27 // 将字符串 str2 放到字符串 str后面 28 str2.concat(str); 29 System.out.println(str2); 30 31 String str3 = "123123123"; 32 // 字符替换,后面的字符替换前面的字符; 33 // 返回新的字符串,之前的字符串内容不变 34 String str4 = str3.replace('3', '4'); 35 // 打印出来结果不变 36 System.out.println(str3); 37 // 结果是 124124124 38 System.out.println(str4); 39 // 字符串替换:后面的字符串替换成前面的字符串 40 String str8 = str3.replace("123", "456"); 41 // 结果是 456456456 42 System.out.println(str8); 43 44 String str9 = "a123b456c789"; 45 // 匹配和替换:匹配到符合要求的,再替换 46 String str10 = str9.replaceAll("[a-z]", "d"); 47 // 结果是 d123d456d789 48 System.out.println(str10); 49 // 匹配到第一个就替换,后面匹配的不管 50 String str11 = str9.replaceFirst("[a-z]", "d"); 51 System.out.println(str11); 52 53 double d = 12.54; 54 // double 类型转字符串 55 // 有多个重载方法 56 String str5 = String.valueOf(d); 57 System.out.println(str5); 58 // 等价:与上面的结果一样 59 String str6 = Double.toString(d); 60 System.out.println(str6); 61 62 char[] c2 = {'a','s','d','f'}; 63 // 字符数组转成字符串 64 // 有重载方法 65 String str7 = String.valueOf(c2); 66 System.out.println(str7); 67 68 // 字符串转字符数组 69 char[] c3 = str7.toCharArray(); 70 System.out.println(Arrays.toString(c3)); 71 72 String str12 = "123"; 73 System.out.println(); 74 // 只能是判断是否包含字符串,不能判断是否包含字符 75 System.out.println(str12.contains("12")); 76 77 String str13 = "uhbijn"; 78 // 字符串转字节数组 79 byte[] b = str13.getBytes(); 80 // Arrays.toString():多个重载方法,可以打印多种类型的数组 81 System.out.println(Arrays.toString(b)); 82 83 // 字节数组转字符串 84 String str14 = new String(b); 85 System.out.println(str14); 86 } 87 }