java字符串(String和StringBuilder)

1、String

1.1、创建String对象的方法(三种方式)

String s1 = "zhang";            创建一个字符串对象zhang,名为s1

String s2 = new String();       创建一个空字符串对象,名为s2

String s3 = new String("zhang");创建一个字符串对象zhang,名为s3

1.2、String的常用方法

方法 说明
int length() 返回当前字符串长度
int indexOf(char ch) 查找ch字符在该字符串中第一次出现的位置
int indexOf(String str) 查找str子字符串在该字符串中第一次出现的位置
int lastIndexOf(char 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数组

 

1.3、==和equals方法的区别

==:指存储地址是否相同

equals:指值是否相同

String str1 = "zhang";
String str2 = "zhang";
String str3 = new String("zhang");
str1.equals(str2)        结果为true
str1.equals(str3)        结果为true
str1==str2               结果为true
str1==str3               结果为false

1.4、String的不可变性

String对象一旦被创建,则不能修改,是不可变的。所谓的修改是创建了新的对象,所指向的内存空间不变。

2、字符串StringBuilder

2.1、区别与建议

区别:String具有不可变性,而StringBuilder不具备

建议:当频繁操作字符串是,使用StringBuilder

2.2、StringBuilder和StringBuffer

  • 二者基本相似
  • StringBuffer是线程安全的,StringBuilder则没有,所以性能略高

2.3、String常用方法

详情请看API文档

 

猜你喜欢

转载自blog.csdn.net/qq_38723677/article/details/85286300