Java 的API(API: Application(应用) Programming(程序) Interface(接口))
Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来
Object类是Java语言中的根类,即所有类的父类。
首先equals方法是比较两个对象是否相同,Object类中的equals方法内部使用的就是==比较运算符。
"==比较运算符"比较的是两个引用类型的地址
如果你的类里面没重写object的equals方法,那么调用的是object的equals方法,比较的是两个对象的内存地址,没有实用意义。
在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断。
toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
查阅API中的String类的描述,发现String 类代表字符串。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。
String
类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于 character
类指定的 Unicode 标准版。
Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。
除非另行说明,否则将 null 参数传递给此类中的构造方法或方法将抛出。
首先我们建立一个person类,建立私有属性类String name和int age并且获取name和他们的返回值并设置和判断对象年龄是否一致是否是同龄人
public class person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
//判断是否是同龄人
public boolean equals(Object obj) {
// TODO Auto-generated method stub
//判断对象是否一致
if(obj==this) {
return true;
}
if(obj instanceof person) {
person p=(person)obj;
}
return super.equals(obj);
}
}
public class test {
public static void main(String[] args) {
person p1=new person();
p1.setAge(28);
person p2=new person();
p2.setAge(25);
ArrayList arr=new ArrayList();
//"=="比较的是两个引用类型的地址
//如果你的person没重写object的equals方法,那么你的
//p1.equals(p2)调用的是object的equals方法,比较的是
//两个对象的内存地址,没有实用意义
//而我们person类如果比较的话,应该比较年龄相同
//就要重写父类的equals方法
boolean b=p1.equals(p2);
System.out.println(b);
person p21=new person();
}
测试类集合并且父类用equals方法重写这就是equals方法和父类重写了