目录
赋值操作
1.直接赋值
String st = new String("hello"); String st1 = "world";
这两种都可以
2.字符数组转换为字符串
char [] ch= {'a','b','c'}; String st = new String(ch);
length()
语法:字符串.length();
返回值:返回一个整数,整数为字符串中字符个数
String st = new String("abcdef"); System.out.println(st.length());
输出结果为:6
equals()
如果直接用==进行判断是否相等 那么比较的是它们的地址,所以应该用equal()进行比较
语法:被比较字符串1.equals(被比较字符串2);
返回值:一个布尔类型,相同为true,不相同为false。
String st1 = new String("abcdef"); String st2 = new String("abcdefg"); System.out.println(st1.equals(st2));
输出结果为:false
compareTo()
与equals不同的是, equals返回的是boolean类型,而compareTo返回的是int类型。具体比较方式:
1 . 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值
2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值
语法:被比较字符串1.compareTo(被比较字符串2)
String st1 = new String("abcdefg"); String st2 = new String("abcdef"); System.out.println(st1.compareTo(st2));
输出结果:1
String st1 = new String("dbcdefg"); String st2 = new String("abcdef"); System.out.println(st1.compareTo(st2));
输出结果:3
charAT()
找到下标为n的元素 (注跟数组相同 第1个元素 下标为0)
语法: 字符串.charAT(n);
String st = new String("abcdefg"); System.out.println(st.charAt(0));
输出结果:a
indexOf()家族及其重写
字符串转换
数字转字符串
语法:String.valueOf(数字)
String s1 = String.valueOf(1234);
System.out.println(s1);
输出结果:1234(有点脱裤子放屁的感觉)
字符串转数字
Integer.parseInt(字符串) 转换整形
Double.parseDouble(字符串) 转换浮点型
int a = Integer.parseInt("1234");
double b = Double.parseDouble("123.4");
System.out.println(a);
System.out.println(b);
输出结果:1234 123.4
大小写转换
字符串.toUpperCase() 小写转大写
字符串.toLowerCase() 大写转小写
String s1 = "hello";
String s2 = "HELLO";
String s3 = s1.toUpperCase();
String s4 = s2.toLowerCase();
System.out.println(s3);
System.out.println(s4);
输出结果:HELLO hello
字符串转数组
字符串.toCharArray()
String s1 = "hello";
char [] ch = s1.toCharArray();
所以说只要是转化的方法 都有个to
格式化
把很多个类型变成一个字符串
String.format("类型列表", 对应数据列表);
String s1 = String.format("%d%.1f",15,15.5);
字符串替换
注:由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串.
1.替换所有指定内容 字符串.replaceAll(被替换字符, 替换字符)
2.替换首个指定内容 字符串.replaceFirst(被替换字符, 替换字符)
字符串拆分
1.全部拆分 字符串.split(拆分标志字符串);
2.按组数拆分 字符串.split(拆分标志字符串,拆分组数)
注意!应用字符串组 String[] 接受拆分结果