1 API概念
API:是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
2 String类的概念和不变性
Strign类的特点 一切都是对象,一旦被创建不能修改。但是String对象不可修改指的是对象本身不可修改,而不是引用不可修改。
public static void main(String[] args) { String str = "zhangsan"; System.out.println(str); str = "lisi"; System.out.println(str); }
这行代码的意思是声明一个String类型的引用变量叫做str,在内存中创建一个String对象(值为"zhangsan"),然后把这个对象的引用赋值给变量str。
然后在内存中另外创建了一个String对象(值为"lisi"),然后把这个新对象的引用赋值给变量str,而不是把原来的内存中的那个“zhangsan”的String对象值变为“lisi”。如果之后内存中那个“zhangsan”的String对象没有任何引用,那么就会被下一次垃圾回收器运行时回收。
3 String类创建方式
1.String str = "zhangsan";
2.String str = new String("zhangsan");
4 String类构造方法
2.char[] ch = {'a','b','c','d','e','f'};
String s1 = new String(ch);
3.byte[] b = {97,98,99,100,101};
String s = new String(b);
5 String类的其他方法
a:length() 返回的是字符串的长度
b:substring(int beginIndex,int endIndex)获取字符串的一部分 包含头 不包含尾
c:substring(int beginIndex) 后面的全要
d:boolean statsWith(String preFix) 判断一个字符串是否包含另一个字符串
e:endsWith(String str) 判断一个字符串的后缀 结尾
f:contains 判断一个字符串是否有另一个字符串
g:indexOf(char ch) 查找一个字符,若没有找到 返回-1
h:getBytes() 将字符串转字节数组
i:toCharArray() 将字符串转字符数组
j:boolean equals(Object obj); 判断字符串里面完全相等 返回true;
s.equalsIgnoreCase(s1) 不区分大小写的比较
h:charAt(int index) 字符串中位于index的元素
6 StringBuffer特点可变字符数组
7 StringBuffer类的方法
a:append将任意类型添加到缓冲区
b:delete() 删除的时候结尾位置减去1
c:insert() 在指定位置插入数据
d:replace() 把某个位置的数据替换成对应数据
e:reverse() 翻转
f:toString() 转化为字符串
8.StringBuffer与String的区别
String是一个不可变的序列,StringBuffer可变。
9 StringBuilder类
StringBuffer是jdk1.0版本
StringBuild是1.5版本,是线程不安全的,但是效率高