Java 字符串

前言

1、字符

  • 保存一个字符的时候使用 charchar 对应的封装类是 Character

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Character.isLetter('a')     // 判断是否为 字母
    Character.isDigit('a') // 判断是否为 数字
    Character.isWhitespace(' ') // 是否是 空白
    Character.isUpperCase('a') // 是否是 大写
    Character.isLowerCase('a') // 是否是 小写

    Character.toUpperCase('a') // 转换为 大写
    Character.toLowerCase('A') // 转换为 小写

    Character.toString('a') // 转换为 字符串

2、字符串

  • 字符串即字符的组合,在 Java 中,字符串是一个类,所以我们见到的字符串都是对象。

    1
    2
    3
    4
    5
    6
    7
    8
    String garen = "盖伦";                       // 字面值, 虚拟机碰到字面值就会创建一个字符串对象

    String teemo = new String("提莫"); // 创建了两个字符串对象

    char[] cs = new char[]{'崔', '斯', '特'};
    String hero = new String(cs); // 通过字符数组创建一个字符串对象

    String hero3 = garen + teemo; // 通过 + 加号进行字符串拼接
  • String 被修饰为 final,所以是不能被继承的。

  • immutable 是指不可改变的,一旦创建好这个字符串,里面的内容 永远 不能改变,String 的表现就像是一个常量。

3、常见字符串方法

关键字 简介
length 获取字符串的长度
charAt 获取指定位置的字符
toCharArray 获取对应的字符数组
subString 截取从指定位置开始的子字符串
split 根据分隔符进行分隔字符串
trim` 去掉首尾空格
toLowerCase、toUpperCase 大小写转换
indexOf 字符或者子字符串(从指定位置开始),第一次出现的位置
lastIndexOf 字符或者子字符串最后出现的位置
contains 是否包含子字符串
replaceAll 替换所有的 s1 位 s2
replaceFirst 只替换第一个 s1 位 s2

4、字符串比较

关键字 简介
== 用于判断是否是同一个字符串对象
equals 字符串内容的比较,必须大小写一致
equalsIgnoreCase 字符串内容的比较,忽略大小写
startsWith 是否以子字符串开始
endsWith 是否以子字符串结束

5、可变长字符串

关键字 简介
append 在最后追加
delete 删除 index1 - index2 之间的字符(包含 index1,不包含 index2)
insert 在 index 这个位置插入 s
reverse 反转

5.1 StringBuffer 和 StringBuilder 的区别

  • StringBuffer 是线程安全的。
  • StringBuilder 是非线程安全的。

  • 所以当进行大量字符串拼接操作的时候,如果是单线程就用 StringBuilder 会更快些,如果是多线程,就需要用 StringBuffer 保证数据的安全性。

文章目录
  1. 1. 前言
  2. 2. 1、字符
  3. 3. 2、字符串
  4. 4. 3、常见字符串方法
  5. 5. 4、字符串比较
  6. 6. 5、可变长字符串
    1. 6.1. 5.1 StringBuffer 和 StringBuilder 的区别
隐藏目录