1.字符串不可变,它们的值在创建后不能被更改
2.字符串其实是一个字符数组,既然是数组,那么长度不能改,
3.final 表示最终的,不可改变的,String被final修饰,表示值不能被改变
4.定义字符串建议用: String s3 = "aaaa";
5.基本数据类型进行比较用==。比较的是值
6.引用类型进行比较用==,比较的是地址
7.String s=new String("a");创建了几个对象?
8.String s5 = "a" + "b" + "c"; 先做运算,在执行
9.static的目的就是为了共享数据,
只要执行了以后,就会在内存里面开辟空间,只要项目一致运行,则一直存在
而很多时候不需要一直运行,所以可以考虑不用static
10.将字符串转换为字符数组 :char[] chars = str.toCharArray();
11.既然字符串是一个字符数组,能不能直接通过索引拿到对应的字符 char c = str.charAt(2);
12.String 每一次赋值都会重新创建对象,除非方法区已经有的字符不用创建
13.所以,以后用到字符串拼接的时候,用StringBuilder,可以理解为创建一个对象后,自动扩容
14.StringBuffer和StringBuilder用法都一样,只不过以后的应用场景不一样?
15.String和StringBuffer和StringBuilder之间的区别?
16.字符串截取部分字符
substring(start, end);截取索引在[start,end)之间的字符
substring(start);截取索引在start后面的所有字符(包括start)
17.字符替换: replace(old,new);
18.创建对象的时候,数据类型不要出现基本类型,全部用包装类
19.split 字符串强制转换为字符数组
indexOf(char)通过字符,找到字符对应的索引
trim() 去掉字符串两端的空白字符
isEmpty()判断是否为空字符