Java的API
equals
基本数据类: 比较的是内容(值)
引用数据类型:比较的是内存地址值
String 的equals比较的是内容
class Person extends Object{
int age ;
//复写父类的equals方法,实现自己的比较方式
public boolean equals(Object obj) {
//判断当前调用equals方法的对象和传递进来的对象是否是同一个
if ( this== obj ) {
return true;
}
//判断传递进来的对象是否是Person类型
if (!(obj instanceof Person)) {
return false;
}
//将obj向下转型为Perosn引用,访问其属性
Person p = (Person)obj;
return this.age == p.age;
}
}
例题
public class person{
priavte int age;
private String name;
public person(){
}
public boolean equals (object obj){
person p = (person)obj;
return this.age == p.age;
}
public int setAge(int age){
this . age=age;
}
}
public String setName(String name){
this . name=name;
}
}
public int getAge(){
return age;
}
public String getName(){
return name;
}
public class Test{
public static void main(String[] args){
//person类继承了object类,继承下来父类的方法equals方法
person p= new person("张三",20);
person pp = new person("李四",25);
boolean b = p.equals(pp);
system.out.println(b);
}
}
字符串缓冲区stringBuffer 可变对象 String不可变对象
线程安全