String类
实例化方式
•String类是引用数据类型,该类实例化方式有两种:
直接赋值,其语法格式如下:
构造方法实现其实例化,其语法格式如下:
//Java中有9个类可以直接赋值:8个基本数据类的封装类(Byte、Short、Integer、Long、Float、Double、Boollean、Character)和String类
public class Test{
public static void main(String[] args) {
Integer i =9;
Integer ii = new Integer(9);
}
}
两种方式区别
•String类实例化的两种方式是有区别的:
直接赋值,这种方式会出现常量池数据共享的现象:
理解这句话:字符串是常量;字符串的值在创建之后不能更改——其意思是存放字符串空间开辟后,该空间的内容不能发生改变,并不是String类型变量所指向的内存地址不能发生改变。
常用方法
•length() 该方法返回字符串的长度:
•startsWith(String value) 判断字符串是否以value字符串开头,如果是返回true,否则返回false:
•endsWith(String value) 判断字符串是否以value字符串结尾,如果是返回true,否则返回false:
•equals(String targetString) 用于判断两个字符串是否相同,完全相同返回true,否则返回false:
•String 类equals方法和==区别:
-
String类中的equals方法用于判断两个字符串内容是否相同:
-
如果所比较的两个变量是引用类型,则==用于比对两个变量指向的是否为同一个存放数据的地址;如果是基本数据类型的两个变量进行比较,则比较的是值是否相等:
•equalsIgnoreCase (String value) 用于判断两个字符串忽略大小写后是否相同,相同返回true,否则返回false:
•toCharArray() 将字符串转换为char类型的数组:
方法名 | 参数 | 备注 |
replaceAll(String old, String new) | old旧字符串
new新字符串 | 返回当前字符串用new替换old的结果 |
trim() | 返回去掉当前字符串左右两端空格后的字符串,注意:当前字符串中间空格不会去掉。 | |
split(String sign) | 返回一个数组,该数组由目标字符串根据sign拆分得到。 |
方法名 | 参数 | 备注 |
indexOf(String s) | s表示目标字符串对象
start表示起始位置
end表示结束位置 | 从当前字符串的起始位置检索目标字符串s第一次出现的位置(从0开始计数),如果没有检索到s返回-1 |
lastIndexOf(String s) | 从当前字符串的起始位置检索目标字符串s最后一次出现的位置(从0开始计数),如果没有检索到s返回-1 | |
indexOf(String s, int start) | 从当前字符串的start位置(从0开始计数)开始检索目标字符串s第一次出现的位置(从0开始计数),如果没有检索到s返回-1 | |
lastIndexOf(String s, int end) | 从当前字符串的起始位置开始,到end位置(从0开始计数)结束,检索目标字符串s最后一次出现的位置(从0开始计数),如果没有检索到s返回-1 | |
substring(int start) | 返回当前字符串从start开始截取到当前字符串末尾的部分。 | |
substring(int start, int end) | 返回当前字符串,从start开始截取到end之前的部分。 |
Java API 文档
StringBuffer类
•StringBuffer类也可以存放字符串,和String类不同的是,StringBuffer字符串代表的是可变的字符序列,可以对字符串对象内容进行修改。
构造方法 | 说明 |
public StringBuffer() | 保留 16 个字符的空间 |
public StringBuffer (int length) | 设置缓存器大小 |
public StringBuffer(String value) | 设置初始内容,并在不重新分配的情况下保留 16 个字符的空间 |
方法 | 说明 |
StringBuffer append(各类型参数) | 将参数的数据加入到缓冲区的末尾 |
int length( ) | 确定 StringBuffer 对象的长度 |
String toString( ) | 转换为字符串形式 |
StringBuffer reverse() | 反转 StringBuffer 对象中的字符串 |
public class Test{
public static void main(String[] args) {
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = sb1.append("lanqiao");
System.out.println(sb1==sb2);//输出结果为true则说明创建的StringBuffer对象和append方法返回的StringBuffer对象是一个对象
}
}