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 }