String与StringBuilder
一、字符串String
1.构造方法:
public String(char[] chs)//根据chs的内容来创建字符串。 public String(byte[] bys)//根据字节数组bys来创建字符串,字节数组中的数字是ASCII码中的值。
String str = "abc";//看成数据类型,直接赋值。
2.特点(1)前两种通过new创建的String对象,每new一次都会申请一个内存空间,所以就算String的内容相同(只是参考的数组的内容一样),他们的地址也不同,所以不是同一个String。
(2)直接赋值,只要字符序列(大小写、顺序)相同,无论出现几次,都只会建立一个String对象,并在字符串池中维护。
3.常用操作
(1)比较两个字符串是否相同
1)对于基本数据类型,==比较的是值是否相同;对于引用数据类型(类、接口、数组),==比较的是地址值。
2)s1.equals(String s2):比较s1与s2是否相同。
(2)str.charAt(index):返回str中索引为index的字符。
(3)str.length():返回str的长度。
二、StringBuilder
1.与String的区别:
String的值不可变,StringBuilder是个可变的字符串类,可以看做一个容器,可以不断往里面添加(append)数据。
2.构造方法:
(1)public StringBuilder():创建一个空字符串。
(2)public StringBuilder(String str):把已知的String转换成StringBuilder。
3.常用操作
(1)添加数据:stb.append(任意数据类型);//返回对象本身
(2)反转:stb.reverse();//返回对象本身
(3)StringBuilder→String:stb.toString();//返回值为String