String 不可变字符串
一旦创建 则不能在对应的存储空间里改变字符串的内容
相同的字符串内存是通用的
例:
String S1="asd"
String S2="asd"
S1 和 S2的所指向的是同一片内存
不可变字符串的创建方式
String S1="asd"
String S1=new String();
使用字节数组
byte[] name={'a','s' 'd'};
String S1=new String(name);
不可变字符串中的方法
1.获取字符串对象中的一个字符
String S1="asd"
S1.charAt(0);取出第0个字符
2.字符串的比较compareTo,可以知道字符的大小
String S1="asd"
String S2="fgd"
int result=S2.compareTo(S1);
当返回值==0 S2==S1 当返回值>0 S2>S1 当返回值<0 S2<S1
3.字符串的连接concat
String S1="asd"
String S2="fgd"
String S3=S1.concat(S2);
4.判断一个字符串是否包含另一个字符串contains
boolean t="kklll".contains("lll");
t为true
5.判断两个字符串是否相同epuals
```
"abc".epuals("abc");
```
6.判断一个子字符串在另一个字符串的位置 indexOf
String i1="hello world"
int index=il.indexOf(world);
如果不存在该字符串返回-1
7.获取字符串长度
i1.length
8.获取子字符串 substring
String i2=i1.substring(0,5);得到从0到5的字符串
String i2=i1.substring(0);得到从0到末尾的字符串
.可变字符串
分类
1.StringBuffer 线程安全 效率低
2.StringBuilder 线程不安全 效率高
定义方式
StringBuilder tr=new StringBuilder(6);//6个字节的空间
可变字符串StringBuilder中的方法
1.末尾追加append
tr.append("dddd");
2.插入insert
tr.insert(2,"hhhh");//在第2个位置插入"hhhhh"