String 是引用类型,不是 基本类型
Java String 类常用方法
- 创建字符串
String str = new String("Hello");
String str = "Hello";
// 字面量创建
- 获取字符串长度
int length = str.length();
- 返回字符串的字符数。
- 字符获取
char ch = str.charAt(index);
- 返回指定索引位置的字符。
- 字符串拼接
String result = str1 + str2;
- 使用
+
运算符拼接字符串。
- 查找子字符串
int index = str.indexOf("sub");
- 返回子字符串首次出现的位置,未找到返回 -1。
- 判断字符串是否包含子字符串
boolean contains = str.contains("sub");
- 返回
true
如果包含,false
否则。
- 字符串比较
boolean isEqual = str1.equals(str2);
- 比较两个字符串的内容,区分大小写。
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2);
- 不区分大小写的比较。
- 字符串替换
String newStr = str.replace("old", "new");
- 替换字符串中的指定子字符串。
- 字符串分割
String[] parts = str.split(",");
- 根据指定的分隔符将字符串分割成数组。
- 去除空格
String trimmed = str.trim();
- 去除字符串两端的空格。
- 转换为大写/小写
String upper = str.toUpperCase();
String lower = str.toLowerCase();
- 将字符串转换为全大写或全小写。
- 子字符串提取
String subStr = str.substring(startIndex, endIndex);
- 提取从
startIndex
到endIndex
的子字符串。
- 字符串格式化
String formatted = String.format("Hello, %s!", name);
- 使用格式化字符串生成新的字符串。
- 检查前缀/后缀
boolean startsWith = str.startsWith("prefix");
boolean endsWith = str.endsWith("suffix");
- 检查字符串是否以指定的前缀或后缀开始或结束。
- 转换为字符数组
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博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
评论(0)