String类代表字符串,值创建以后不能更改。底层原理是字节数组(byte[])
String类
构造方法
方法名 | 说明 |
---|---|
public String() | 创建一个空白字符串对象 |
public String(char [ ] chs) | 根据字符数组内容创建 |
public String(byte [ ] chs) | 根据字节数组内容创建 |
根据字节数组创建字符串
byte [ ] bys = {97, 98, 99};
String s = new String(bys);
System.out.println("s:"+s);
String对象的特点
- 通过new创建的字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址值不同。
- 以 " " 方式给出的字符串,只要字符序列相同(顺序和大小写),无论代码中出现几次,JVM都只会建立一个String对象,并在字符串池中维护。
字符串的比较
- 使用 == 作比较,比较的是地址值是否相同。
- 使用equals(Object anObject) 比较内容是否相同
遍历字符串
for(int i=0; i<s.length(); i++){
s.charAt(i);
}
StringBuilder
是可变的字符序列,可以把它看作一个容器。
构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建一个空白可变字符串对象 |
public StringBulider(String str) | 根据字符串内容创建 |
添加元素
- 链式编程
sb.append("hello").append("world").append("java")
反转
public StringBuilder reverse()
返回相反的字符序列
转化为String
toString() 方法