Java的字符串由String类来构造,一个String值是一串可以由索引访问的char值。
浅谈Java字符串

字符串遍历

String str = "acdfjkl";
  1. 直接利用索引

    for (int i = 0; i < str.length(); i++){
        char ch = str.charAt(i);
    }
    
  2. 转化为字符数组(推荐此方法)

    char[] ch = str.toCharArray();
    for (char c : ch){
        System.out.println(c);
    }
    

类型转换

  1. String类型转换为基本的数据类型:

    String str1 = "123";
    String str2 = "45.6";
    String str3 = "true";
    int a = Integer.parseInt(str1); // 123
    double d = Double.parseDouble(str2); // 45.6
    boolean flag = Boolean.parseBoolean(str3); // true
    
  2. 将基本的数据类型转换为String类型:

    int a = 123;
    double d = 45.6;
    boolean flag = true;
    String str1 = a + "";
    String str2 = d + "";
    String str3 = flag + "";
    

取子字符串

由于java中的String类型是不可变类型,所以对原字符串取子串实际上是实例化了一个新的字符串。

String str = "abcdefgh";
subStr = str.subString(2, 5); // cde

分割字符串

java中分割字符串是通过正则表达式来进行分割,返回字符串数组:

String str = "aa bb cc dd";
String[] res = str.split(" "); // [aa, bb, cc, dd]
// split()函数接受的参数为正则表达式。

可变字符串

由于String类是不可变类型,为了便于对字符串进行操作,提出了StringBuilder类来直接对字符串进行操作。支持可变字符串的还有StringBuffer类,区别在于StringBuffer支持多线程安全,而StringBuilder的效率更高。

StringBuilder的常用操作如下:

  1. 构造函数(四种)

    • StringBuilder() – 内容为空,并设置容量为16个字节;
    • StringBuilder(CharSequece seq) – 使用seq初始化,容量在此基础上增加16
    • StringBuilder(int capacity) – 设置特定容量
    • StringBuilder(String str) – 使用str初始化,容量在此基础上增加16
  2. append方法

    StringBuilder类对几乎所有的基本类型都重载了append方法,并支持直接append数组。

    • append(int a) – 支持所有基本类型
    • append(char[] arr) – 直接增加数组
    • append(char[] arr, int offset, int len)
    • append(String str)
  3. insert方法

    insert方法可以在指定位置插入字符、字符串和数组

    • insert(int offset, char c) – 支持所有的基本类型
    • insert(int index, char[] arr, int offset, int len) – 插入字符数组
    • insert(int offset, String str) – 插入字符串
  4. 其它常用方法(可改变内容)

    • delete(int start, int end) – 删除[start, end)区间的字符串
    • deleteCharAt(int index) – 删除index位置的字符
    • reverse() – 字符串反转;
    • setCharAt(int index, char ch) – 使用ch替代位置index处的字符
    • replace(int start, int end, String str) – 使用str替换子序列
    • setLength(int newLength) – 重新设置字符串长度

相关文章:

  • 2021-10-18
  • 2021-07-05
  • 2021-07-09
  • 2022-12-23
  • 2021-10-18
  • 2023-04-06
  • 2022-01-11
猜你喜欢
  • 2021-06-04
  • 2022-01-03
  • 2021-12-20
  • 2021-09-14
  • 2021-04-01
相关资源
相似解决方案