001Java常用类之String
发布于 2022年 04月 03日 01:20
Java常用类
String
- 使用双引号
""
- string是final类,代表不可变的字符序列。 不支持 str + ""
- 实现了serializable接口,字符串支持可序列化。
- 实现了comparable接口,字符串支持比较大小。
string常用方法
1. 长度: string1.length()
2. 连接: string1.concat(string2)
3. string1.charAt(0)
3. string1.isEmpty()
4. string1.toLowerCase()
5. 去掉首尾空格: string1.trim()
6. 排序: string1.compareTo(string2)
7. 截肢: string2 = string1.substring(begin, end)
8. string2 = string1.endsWith("") / startsWith
9. string1.contains(string2)
10. string1.indexOf("xx")
11. string1.replace(old, new)
12. string1.replaceAll(regex, replacement)
13. boolean rlt = string1.matches(regex)
14. 切分 String[] strs = string1.split(regex)
for(int i = 0; < strs.length(); ++){
System.out.println(strs[i]);
}
string对象
// 通过字面量直接赋值的方式(字面量就是""里面的东西,比如String a = "laochou",那么laochou就是字面量。)
String a = "";// 通过new的方式(但是注意参数不同)// 什么都不传
String b = new String();// 传空字符串String c = new String("");// 传字符数组
String d = new String(new char[]{});// 传byte数组
String e = new String(new byte[]{});
string 与基本数据类型和包装类之间的转换
1. string to int基本数据类型和包装类 (使用包装类的静态方法 parseXxx(str))
String str = "123";
int num = Integer.parseInt(str);
2.
a. 基本数据类型和包装类 to string (调用string重载的valueOf(Xxx),也是静态方法)
String str = String.valueOf(num);
b. 使用连接符
String str = num + "";
string 与 char[] char型数组 转换 (调用String的toCharArray方法)
String str1 = "123";
char[] chs = str1.toCharArray();
for (int i = 0; i < str1.length(); i++) {
System.out.println(chs[i]);
}
char[] char型数组 string 型数组 转换 (调用string的构造器)
char[] chs2 = new char[]{'h', 'e', 'l', 'l', 'o'};
String str2 = new String(chs2);
System.out.println(str2);
string 与 byte[] 字节数组 转换 (调用String的getBytes方法)
String str1 = "123";
byte[] bytes = str1.getBytes();
System.out.println(Arrays.toString(bytes));
string 与 byte[] 字节数组 转换 (调用String的getBytes方法)
String str2 = new String(bytes);
System.out.println(str2);
创建格式化字符串
Java StringBuffer 和 StringBuilder 类
String: 不可变序列
StringBuffer: 可变;线程安全;效率低
StringBuilder: 可变;线程不安全;效率高
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
public class RunoobTest{
public static void main(String args[]){
StringBuilder sb = new StringBuilder(10);
sb.append("Runoob..");
System.out.println(sb);
sb.append("!");
System.out.println(sb);
sb.insert(8, "Java");
System.out.println(sb);
sb.delete(5,8);
System.out.println(sb);
}
}
StringBuffer sbr1 = new StringBuffer("abc");
sbr1.setCharAt(0, 'm');
System.out.println(sbr1);