String 是引用类型,不是 基本类型

Java String 类常用方法

  1. 创建字符串
    • String str = new String("Hello");
    • String str = "Hello"; // 字面量创建
  2. 获取字符串长度
    • int length = str.length();
    • 返回字符串的字符数。
  3. 字符获取
    • char ch = str.charAt(index);
    • 返回指定索引位置的字符。
  4. 字符串拼接
    • String result = str1 + str2;
    • 使用 + 运算符拼接字符串。
  5. 查找子字符串
    • int index = str.indexOf("sub");
    • 返回子字符串首次出现的位置,未找到返回 -1。
  6. 判断字符串是否包含子字符串
    • boolean contains = str.contains("sub");
    • 返回 true 如果包含,false 否则。
  7. 字符串比较
    • boolean isEqual = str1.equals(str2);
    • 比较两个字符串的内容,区分大小写。
    • boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2);
    • 不区分大小写的比较。
  8. 字符串替换
    • String newStr = str.replace("old", "new");
    • 替换字符串中的指定子字符串。
  9. 字符串分割
    • String[] parts = str.split(",");
    • 根据指定的分隔符将字符串分割成数组。
  10. 去除空格
    • String trimmed = str.trim();
    • 去除字符串两端的空格。
  11. 转换为大写/小写
    • String upper = str.toUpperCase();
    • String lower = str.toLowerCase();
    • 将字符串转换为全大写或全小写。
  12. 子字符串提取
    • String subStr = str.substring(startIndex, endIndex);
    • 提取从 startIndex 到 endIndex 的子字符串。
  13. 字符串格式化
    • String formatted = String.format("Hello, %s!", name);
    • 使用格式化字符串生成新的字符串。
  14. 检查前缀/后缀
    • boolean startsWith = str.startsWith("prefix");
    • boolean endsWith = str.endsWith("suffix");
    • 检查字符串是否以指定的前缀或后缀开始或结束。
  15. 转换为字符数组
    • char[] charArray = str.toCharArray();
    • 将字符串转换为字符数组。

String.intern() 方法

在 Java 中,intern() 方法是 String 类的一个重要方法,用于管理字符串的内存。以下是关于 intern() 方法的详细介绍,适合整理到博客中。

概述

intern() 方法用于返回字符串对象的规范化表示。它会检查字符串池(String Pool)中是否已经存在一个等于该字符串内容的字符串。如果存在,则返回该字符串的引用;如果不存在,则将该字符串添加到字符串池中,并返回它的引用。

语法

public String intern()

使用场景

  • 内存优化:当你有大量相同内容的字符串时,使用 intern() 可以减少内存占用,因为相同内容的字符串只会在内存中存储一次。
  • 性能提升:在需要频繁比较字符串内容的情况下,可以通过 intern() 方法提高比较效率,因为可以比较对象引用而不是内容。

示例

public class InternExample {
    public static void main(String[] args) {
        String str1 = new String("Hello");
        String str2 = new String("Hello");

        // 使用 intern()
        String internedStr1 = str1.intern();
        String internedStr2 = str2.intern();

        System.out.println(internedStr1 == internedStr2); // 输出 true
        System.out.println(str1 == str2); // 输出 false
    }
}

注意事项

  • intern() 方法会增加额外的内存开销,因为它需要维护字符串池。
  • 在某些情况下,使用 intern() 可能会导致性能下降,尤其是在创建大量不同字符串时。

结论

String.intern() 是一个有用的方法,可以有效管理字符串的内存使用。了解何时使用它可以帮助开发者编写更高效的 Java 代码。如果你的应用程序中存在大量重复字符串,考虑使用 intern() 来优化内存和性能。

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤