String类
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
一、 String 类的常见操作
-
字符串比较
1)比较相等 == :比较的是引用的地址是否相同。 equals : 比较的是字符串的内容是否相同。(区分大小写的比较)
String str1 = new String("Hello"); String str2 = new String("Hello"); System.out.println(str1 == str2); // 执行结果 false
String str1 = new String("Hello"); String str2 = new String("Hello"); System.out.println(str1.equals(str2)); // System.out.println(str2.equals(str1)); // 或者这样写也行 // 执行结果 true
2)比较大小 compareTo() public int compareTo(String string){ //... } 1. 相等:返回0. 2. 小于:返回内容小于0. 3. 大于:返回内容大于0。
System.out.println("A".compareTo("a")); // -32 System.out.println("a".compareTo("A")); // 32 System.out.println("A".compareTo("A")); // 0 System.out.println("AB".compareTo("AC")); // -1
3)不区分大小写的比较 public boolean equalsIgnoreCase(String string){}
-
字符串包含
1)判断字符串a是否包含字符串b boolean bool = a.contains(b); 2)查找子字符串的下标(未查到返回值为-1) int index = a.IndexOf(b);//从左至右查 int index = a.IndexOf(b,int n);//从n下标开始查找 int index = a.lastIndexOf(b);//从右往左查 3)判断字符串a是否以字符串b开头 boolean bool = a.startsWith(b); 4)判断字符串a是否以字符串b结尾 boolean bool = a.endsWith(b);
-
字符串替换
将字符串a中的所有子字符串b替换成字符串"java" String s = a.replaceAll(b,"java"); 将字符串a中的第一个子字符串b替换成字符串"java" String s = a.replaceFirst(b,"java");
-
字符串拆分
按照分隔符拆分,并将其放到数组中 String[] result = a.split(",");
-
字符串截取
String s = a.subString(6,11);//[begin,end) 前闭后开 String s = a.subString(6);//从第六个位置开始截取至字符串结束
-
其他操作
1)去掉字符串左右的空白符(空白符:空格、换行、回车、制表符、翻页符、垂直制表符) a.trim(); 2)将字符串全转成大写字母 a.toUpperCase(); 3)将字符串全转成小写字母 a.toLowerCase(); 4)字符串入池操作 public native String inter()//关键字native 表示本地的
二、String是不可变对象
StringBuilder、StringBuffer是可变对象。可以用StringBuilder、StringBuffer将String不可变对象转换为可变对象。两者用法基本相似。
StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全。
1)创建可变对象
StringBuilder stringBuilder = new StringBuilder();
2)追加、拼接
stringBuilder.append("java");
3)翻转
stringBuilder.reverse();
4)删除
stringBuilder.delete(2,5);//删除[2,5)
5)插入
stringBuilder.insert(2,"java"); //在2 处插入字符串"java"
三、小结(String基本操作)
- equals
- compareTo
- toCharArray
- contains
- indexOf
- lastIndexOf
- replaceAll
- replaceFirst
- split
- subString
- trim
- isEmpty
- length