目录
1.内部原理
String类包含了一个属性:char[],即把一串字符存在数组中
2.属性
2.1
字符串的值一经确定,无法改变,任何对字符串操作都是要新的内存空间;
思考一下
下面开辟多少内存空间
String a ='你';1
String b='好';2
String c =new String('吗');3,4
String d =a+b+c;5,6
2.2 字符串的存储位置在常量池
因为字符串不可以改变,故设计以便于重复利用的缓存机制。
思考一下
下面开辟多少内存空间
String s1='a';1
String s2='b';2
String s3='c';3
String s4='a';3
String s5='b';3
String s6=s1+s2+s3+s4+s5+'c';4,5,6,7,8
注意*
如果String通过new对象就不在常量池里,会开辟新的内存空间。
2.3 String是final修饰的,无法被继承
3 String类的方法
3.1charAt(n)第n个值(从0开始)
3.2indexOf('字符') 某字符串起始位置
3.3lastIndexOf('字符')倒数找到第一个
3.4contains('字符')是否包含
3.5length()字符串的长度
3.6equal()字符串内容比较
3.7endsWith() 是否以某些内容结尾
3.8startsWith() 是否以某些内容开头
3.8replace 字符串的替换
3.9split 字符串的拆分
3.10 substring 字符串的截取