一、String
1.final修饰,常量,长度不可以改变。不可以改变内容,但是指针可以改变
String s1 = "abc";
String s1 = "bcd";
没有错误,只是s1指向了另外一个地方,串"abc"没有改变。
2.内存
String s = "abc";//常量区
String s2 = new String("abc"); //常量区、内存区
3.==和equals()
==比较的是数值和地址
Object类的equals()默认比较的是地址,String类重写了equals方法,比较的是内容。
4.涉及到下标的方法,包含头,不包含尾
String s = "abc";
s.subString(start,end) :[ )
5.方法
(1)根据正则表达式切割split(str)
正则表达式是一个知识点
(2)字串subString()
(3)去掉两端空格trim()
(4)比较conpareTo(str),默认的是字典顺序
(5)转换(列举自己最常用的)
a.字符串与字符数组 String---char[]:
String s = new String(char[]);
char[] c = s.toCharArray();
b.字符串与字节数组 String---byte[]:
String s = new String(byte[]);
byte[] c = s.getBytes();
字符串与字节数组转换的时候可以指定编码:String s = new String(str.getBytes("GBK"),"GBK");
c.字符串与基本类型
String s = 1+"";
int a = Integer.parseInt("1");
。。。还有很多。
6.编码/解码
String s = "abc";
byte[] c = s.getBytes() //编码
s = new String(c) //解码
保证编码与解码使用的是一样的编码格式是一样的。默认使用的是GBK
String s = new String(str.getBytes("GBK"),"GBK");
二、StringBuffer
三、StringBuilder