一、字符串定义:在java中将与字符串有关的内容面向对象了,形成的类叫String,字符串表示的方法----"";
二、对于字符串整体有两个地方可能会发生变化:1)引用的指向
2)字符串本身:
①不可变字符串:String:说的是字符串本身没有发生变化,与引用无关
②可变字符串:StringBuffer、StringBuilder:说的是字符串本身发生了改变,与引用无关;
三、字符串常量的保存位置:被放在了常量区,常量区可以认为是堆区中一块特殊的区域
常量的特点:同一个名字的字符串在内存中只允许存在一个;
四、Sting重写了equals()方法,规则变成了让内容相比较,在比较字符串的时候尽量使用equals方法;
五、String常用的方法:
1.contains()
2.equals()
3.equalsIgnoreCase()
4.startsWith()
5.endsWith()
6.String s2 = new String(new char[]{'a','b'});
7.char[] arr = str.toCharArray();
8.replace();
9.subString(args1,args2)
10.trim()
11.comparaTo();
12.split()
六、可变字符串
1)StringBuffer:可变字符串,本身是可变的,与引用无关,是线程安全的,要考虑线程安全问题;
2)StringBuilder:可变字符串,本身是可变的,与引用无关,是线程不安全的,不需要考虑线程安全问题
区分:在不考虑线程安全的前提下尽量使用StringBuilder,因为他的效率更高,速度更快
七、可变数组的部分方法:
1.append();
2.delete();
3.deleteCharAt();
4.replace();
5.indexOf();
6.length();
7.reverse();