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或false -
String 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()
获取字符串长度
网友评论