Object类是所有类的基类
protected Object clone() //返回一个对象副本,浅复制
boolean equals(Object obj) //判断对象的地址是否相等
protected void finalize() //调用析构函数
Class<?> getClass() //返回当前类对象
int hashCode(); //返回该对象的哈希值
void notify() //通知在此监视器上的等待线程,进入
void notifyAlll() //通知在此监视器上的所有等待线程
String toString() //没有重写,返回完整的类名,
void wait() //等待线程 释放锁
void wait(long timeout) //等待线程 释放锁
equals 与 "=="的区别
- equals 是对象的方法 == 是运算符号
- equals 不能比较基本类型,是比较对象的地址 == 可以比较基本类型和对象
- equals 默认是比较对象地址是否相等(可以重写成比较是否是同一个类的对象) == 比较基本类型是比较值是否相等,比较对象是比较对象的地址是否相等
基本数据类型和它的包装类
int --> Integer
char --> Character
Integer 类常用方法
// 返回对应的封装值
public long longValue();
public double doubleValue();
public int intValue();
//end 返回对应的封装值
//解析字符串,返回int
public static int parseInt(String s) throws NumberFormatException
//返回Integer对象
public static Integer valueOf(String s) throws NumberFormatException
装箱: 就是基本类型变成引用类型
拆箱: 引用类型变基本类型
字符串类
- String类 是一个不变类型,final修饰
- 常用方法
char charAt(int index) //返回索引处的char字符
String concat(String str) //在末尾拼接字符
boolean isEmpty() //字符串是否为空
int length() //返回字符长度
String toLowerCase() //返回小写字符
String toUpperCase() //返回大写字符
- StringBuffer
- 相对于String,更适合在需要频繁的对字符串进行插入删除时使用
- 会每次修改本身,进行字符串处理不生成新的对象
- 是线程安全的
- 与String没有继承关系,不能进行强制转换
线程安全就是数据访问时,是同步的,不支持多个线程同时访问同一个变量,避免了不同线程之间的修改造成的数据污染
StringBuffer sb = new StringBuffer();
StringBuffer sb = new StringBuffer("字符串");
//转换成String
String s = sb.toString();
//常用方法
append(字符串); //在末尾追加字符串
deleteCharAt(int index); //删除指定位置的字符串
delete(int start,int end) //删除指定区间内的所有字符
insert() //在指定位置插入值
reverse() //反转字符串
setCharAt() //设置指定位置的字符值
- StringBuilder
- 与StringBuffer兼容,但不保证同步
- 比Stringbuffer快
- 不是线程安全的
用法参考StringBuffer
* 主要append insert