1、创建String对象的方法
//创建一个字符串对象
String s1 = "hello world";
//创建一个空字符串对象
String s2 = new String();
//创建一个字符串对象
String s3 = new String("hello world");
注意:
- String对象创建后则不能修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。
- 每次new一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用“==”比较时也为“false”,如果只需比较内容是否相同,应使用“equals”方法。
2、String的常用方法
int length()
返回当前字符串的长度int indexOf(int ch)
查找ch字符在该字符串中第一次出现的位置int indexOf(String str)
查找str子字符串在该字符串中第一次出现的位置int lastIndexOf(int ch)
查找ch字符在该字符串中最后一次出现的位置int lastIndexOf(String str)
查找str子字符串在该字符串最后一次出现的位置String substring(int beginIndex)
获取从beginIndex位置开始到结束的子字符串String substring(int beginIndex, int endIndex)
获取从beginIndex位置开始到endIndex位置的子字符串String trim()
返回去除了前后空格的字符串boolean equals(Object obj)
将该字符串与指定对象比较,返回true或falseString toLowerCase()
将字符串转换为小写String toUpperCase()
将字符串转换为大写char charAt(int index)
获取字符串中指定位置的字符String[] split(String regex,int limit)
将字符串分割为子字符串,返回字符串数组byte[] getBytes()
将该字符串转换为byte数组
3、“==” 和 equals()的区别
==:判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象
equals():比较存储在两个字符串对象中的内容是否一致
4、StringBuilder 和 StringBuffer
StringBuilder 和StringBuffer ,它们基本相似,都是可变字符串对象,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
- 初始化StringBuilder对象
//创建一个空的StringBuilder对象
StringBuilder str1 = new StringBuilder();
//创建一个带有初始值的对象
StringBuilder str2 = new StringBuilder("hello world");
5、StringBuilder常用方法
StringBuilder append(参数)
追加内容到当前StringBuilder对象的末尾StringBuilder insert(位置, 参数)
将内容插入到StringBuilder对象的指定位置String toString()
将StringBuilder对象转换为String对象int length()
获取字符串长度