25.1 API
- Application Programming Interface(应用程序接口)
- API即JDK提供的类,JDK中的src.zip文件即所有Java类的源文件
25.2 Object
- 所有类的父类
- 构造方法
Object()
- 方法
boolean equals(Object obj);//判断两个对象是否是同一个对象
String toString();//返回该对象的字符串表示
public boolean equals(Onject obj){
return this==obj;//引用数据类型,比较的是内存的地址值
}
public boolean equals(Object obj) {
if(this == obj)
return true;
if(obj == null)
return false;
if(obj instanceof Person){
Person p = (Person)obj;
return this.age == p.age;
}else{
return false;
}
}
25.3 String
- 代表字符串,本质是以个字符数组
- 字符串本身是不会变的,但是str记录的地址值是会变化的。
字符串的创建有两种方式,String类重写了Object中的equals方法。
- String的构造方法
String(byte[] bytes); //自动解码;
String(byte[] bytes,int offset,int length); //指定的一部分开始的(起始索引)和(个数)进行解码;
String(char[] value); //自动转化成字符串;
String(char[] value, int offset, int count); //指定的一部分开始的(起始索引)和(个数)进行解码;
String("...");
- String的方法
int length();
String substring(int beginIndex);//[int beginIndex,...]
String substring(int beginIndex, int endIndex);//[beginIndex,endIndex)
boolean startsWith(String prefix);
boolean endsWith(String suffix);
byte[] getBytes(); //将字符串查询编码标后转换成字节存储在字节数组
char[] toCharArray(); //将字符串转化成一个新的字符数组
boolean equals(Object anObject); //判断字符是否完全相同
boolean equalsIgnoreCase(String anotherString);
String toUpperCase();
String toLowerCase();
int indexOf(String key); //0或n
25.4 字符串缓冲字符串
- 支持可变的字符串,提高字符串的操作效率
- 线程安全的可变字符序列
- 内部定义了可变数组,但是这个数组没有修饰符final
- 构造方法
StringBuffer();//初始容量是16个字符
StringBuffer(String str);
- 方法
StringBuffer append(String str)
StringBuffer delete(int start, int end) //[start,end)
StringBuffer insert(int offset, String str)
StringBuffer replace(int start, int end, String str)
StringBuffer reverse()
String toString()
StringBuffer buffer = new StringBuffer();
buffer.append(1).append(false).append("abc").append('a')....
//返回值都是StringBuffer对象
- StringBuilder
StringBuilder线程不安全
StringBuilder兼容StringBuffer的API,对于单线程使用StringBuilder会快于StringBuffer