String
String类在java.;lang包下,所以使用的时候不需要导包
String类代表字符串,Java程序中的所有字符串文字(例如“abc”)都被实现为此类的实例也就是说,Java 程序中所有的双引号字符串,都是string这个类的对象
字符串不可变,它们的值在创建之后不能更改
string常见构造方法
方法名 | 说明 |
public String() | 创建一个空白字符串对象,不含有任何内容 |
public String(char[] chs) | 根据字符数组的内容,来创建字符串对象 |
public String(String original) | 根据传入的字符串内容,来创建字符串对象 |
String s = "abc" | 直接赋值的方式创建字符串对象,内容就是abc |
string字符串的特点
1、java程序中所有的双引号字符串,都是string类的对象
2、字符串不可变,它们的值在创建后不能被更改
3、虽然string的值是不可变的,但是它们可以被共享
String方法小结
方法名 | 说明 |
public String substring(int beginlndex,int endlndex) | 根据开始和结束索引进行截取,得到新的字符串(包含头,不包含尾) |
public String substring(int beginlndex) | 从传入的索引处截取,截取到末尾,得到新的字符串 |
public String replace(CharSequence target,CharSequence replacement) | 使用新值,将字符串中的旧值替换,得到新的字符串 |
public String[] split(String regex) | 根据传入的规则切割字符串,得到字符串 |
创建字符串对象的区别对比
注意:==号做比较
基本数据类型:比较的是具体的值
引用数据类型:比较地址值
字符串常量池:当使用双引号创建字符串对象的时候,系统会检查该字符串是否在字符串常量池中存在
不存在:创建 存在:不会重新创建,而是直接复用
结论:双引号创建的字符串对象,在字符串常量池中存储,通过构造方法创建的字符串对象,在堆内存中存储
字符串的比较
使用==做比较
基本数据类型:比较的是数据值是否相同
引用数据类型:比较的是地址值是否相同
字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals()
public boolean equals(object an object):将此字符串与指定对象进行比较。由于我们比较的是字符串的对象,所以参数直接传递一个字符串
StringBuilder
概述:StringBuilder是一个可变的字符串,我们可以把它看成是一个容器0
作用:提高字符串的操作效率
StringBuilder构造方法
方法名 | 说明 |
public StringBuilder() | 创建一个空白可变字符串对象,不含有任何内容 |
public StringBuilder(String str) | 根据字符串的内容,来创建可变字符串对象 |
StringBuilder的常用方法
方法名 | 说明 |
public StringBuilder append(任意类型) | 添加数据,并返回对象本身 |
public StringBuilder reverse() | 返回相反的字符序列 |
public int length() | 返回长度(字符出现的个数) |
public String toString() | 通过toString()就可以实现把StringBuilder转换为String |
链式编程:如果一个方法返回的是对象类型,对象就可以继续向下调用方法
StringBuilder和String的区别
String:内容是不可变的
StringBuilder:内容是可变的