Java 13 字符串

时间:2023-03-08 17:09:18
Java 13 字符串

1 String对象不可变 每一个修改String值的方法 实际上都是创建一个全新的String对象

public class Immutable {
    public static String upcase(String s) {
        return s.toUpperCase();
    }

    public static void main(String[] args) {
        String q = "howdy";
        System.out.println(q);
        String qq = upcase(q);
        System.out.println(qq);
        System.out.println(q);
    }
}

2 StringBuilder JavaSE5引入
StringBuffer 线程安全

public class UsingStringBuilder {
    public static Random rand = new Random(47);

      public String toString() {
        StringBuilder result = new StringBuilder("[");
        for(int i = 0; i < 25; i++) {
          result.append(rand.nextInt(100));
          result.append(", ");
        }
        result.delete(result.length()-2, result.length()); //去掉start到end的字符串
        result.append("]");
        return result.toString();
      }

      public static void main(String[] args) {
        UsingStringBuilder usb = new UsingStringBuilder();
        System.out.println(usb);
      }
}

3 toString方法

4 String 操作
length() //字符个数
charAt() //该索引位置上的char
getChars() getBytes()  //复制
toCharArray() //转char[]
equals() equalsIgnoreCase() //比较是否相同
compareTo()  //按词典顺序比较
contains() //包含
contentEquals() //比较
regionMatcher()
startsWith() //可能的起始String
endsWith() //可能的后缀String
indexOf() lastIndexOf()
substring()
concat()
replace()
toLowerCase()
toUpperCase()

trim() //讲String两端的空白字符删除
valueOf()
intern()

5 格式化输出
Formatter

6 正则表达式