java常用类--String
发布日期:2021-05-15 01:31:23 浏览次数:17 分类:精选文章

本文共 1705 字,大约阅读时间需要 5 分钟。

Java String 类

Java中的String类是所有字符串操作的基础,每个字符串都由此类的实例表示。本文将深入探讨String类的特性、构造方法及其常用操作。


String 的不变性

String类是不可变的。每次对字符串进行操作时,都会返回一个新的String对象,而不是修改原有的String。这意味着即使你修改了一个String对象的值,它的引用仍然指向原来的字符数组。例如:

String str = "hello world";
str = str.replace("l", "dd");
// str 已经变成了 "hddo world"

这种不变性保证了字符串操作的安全性和线性时间复杂度。


String 的构造方法

String类提供了多种构造方法,用于创建不同类型的字符串实例:

  • 默认构造方法

    String()

    初始化一个空字符串。

  • 从字节数组构造

    String(byte[] bytes)

    使用平台默认字符集解码指定的字节数组。

  • 指定字符集构造

    String(byte[] bytes, Charset charset)

    使用指定字符集解码字节数组。

  • 从字符数组构造

    String(char[] value)

    分配一个新的String对象,表示字符数组中的字符序列。

  • 从字符数组的子数组构造

    String(char[] value, int offset, int count)

    初始化一个String,包含字符数组的子阵列。

  • 从字符串构造副本

    String(String original)

    创建一个与原字符串内容相同的新字符串。


  • 常用 String 方法

    String类提供了丰富的方法来操作字符串:

    1. 字符操作

    • 获取单个字符
      char charAt(int index)
    • 比较字符串
      int compareTo(String anotherString)

    2. 字符串操作

    • 连接字符串
      String concat(String str)
    • 匹配子字符串
      boolean contains(CharSequence s)

    3. 字符串检查

    • 判断是否以某个前缀开头
      boolean startsWith(String prefix)
    • 判断是否以某个后缀结尾
      boolean endsWith(String suffix)

    4. 字符串比较

    • 判断两个字符串是否相等
      boolean equals(Object anObject)
    • 忽略大小写比较
      boolean equalsIgnoreCase(String anotherString)

    5. 字符串格式化

    • 格式化字符串
      String format(String formatString, Object... args)
    • 转换为字节数组
      byte[] getBytes(Charset charset)

    6. 字符串转换

    • 转换为大写或小写
      String toUpperCase()
      String toLowerCase()
    • 去除空白
      String trim()

    7. 其他方法

    • 判断是否为空
      boolean isEmpty()
    • 分割字符串
      String[] split(String regex)
    • 替换字符
      String replace(char oldChar, char newChar)

    String 的应用场景

  • 反射场景

    String name = "张三";
    String firstLetter = name.substring(0, 1).toLowerCase() + name.substring(1);
  • 相等判断: String的底层结构是char数组,只需逐个比较字符即可判断两个字符串是否相等。

  • 字符串转换

    String s = "123";
    int num = Integer.parseInt(s);

  • 通过上述方法,Java的String类为字符串操作提供了强大且灵活的支持。无论是简单的字符串拼接,还是复杂的字符串格式化,String类都能轻松应对。

    上一篇:java常用类--包装类
    下一篇:java设计模式--代理模式

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月30日 04时20分35秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章