字符串相关
2025年3月31日大约 2 分钟
字符串相关
字符串(String)
概述
- 在Java中,字符串是由字符数组组成的不可变对象,即一旦创建,字符串的内容就不能被修改。
使用
- 字符串的创建:
String str = "Hello, World!";
常用方法
charAt(int index)
返回指定索引处的字符length()
返回字符串的长度valueOf(primitive data type x)
把传入的内容转换为字符串- 常用于数字类型转字符串(解决数字位数问题)
- 用法:
int num=10
转换为字符串String.valueOf(num)
substring(int beginIndex, int endIndex)
返回一个新的字符串,它是此字符串的一个子字符串indexOf(String str)
返回指定子字符串在此字符串中第一次出现的索引toUpperCase()
将此字符串中的所有字符转换为大写toLowerCase()
将此字符串中的所有字符转换为小写split(String regex)
根据给定的正则表达式将此字符串分割成子字符串数组equals(Object anObject)
比较此字符串与指定的对象是否相等compareTo(String anotherString)
按字典顺序比较两个字符串contains(CharSequence s)
判断此字符串是否包含指定的序列
StringBuilder/StringBuffer
概述
- StringBuilder是Java中用于创建和操作可变字符串的类。
- 与String的区别:
- String是不可变的,每次修改都会创建一个新的String对象。
- StringBuilder是可变的,可以在原对象上进行修改。
- StringBuffer与StringBuilder的区别:
- StringBuffer是线程安全的,适用于多线程环境。
- StringBuilder是非线程安全的,适用于单线程环境。它的性能更好
常用方法
append(String str)
在字符串末尾追加指定的字符串insert(int offset, String str)
在指定位置插入指定的字符串reverse()
反转字符串delete(int start, int end)
删除指定位置的字符replace(int start, int end, String str)
替换指定位置的字符compareTo(String anotherString)
按字典顺序比较两个字符串'
注意事项
- StringBuilder没有重写equals()方法,因此不能直接使用equals()方法比较两个StringBuilder对象是否相等。
- 可以使用
toString()
方法将StringBuilder对象转换为String对象,然后使用equals()方法进行比较。 - 或者使用
compareTo()
方法比较两个StringBuilder对象的内容是否相等,如果相等返回值为0。
- 可以使用