您的位置:首页 > 编程语言 > Java开发

java当中equals函数的作用小结

2013-11-24 21:45 225 查看
equals函数的作用

1.equals函数在什么地方?

equals在Object类当中,、

2.equals函数的作用

3.复写equals函数的方法?

4.“==”操作符的作用,判断两个引用是否指向堆内存中同一个对象的地址,如果是就返回true,否则就返回false。

class User{

private String name;

private int age;

public void User(){

System.out.println("User 的构造函数");

}

}

class Test{

public static void main(String args[]){

User u1 = new User();

User u2 = new User();

User u3 = u1;

if(u1 == u2){

System.out.println(" 两个对象堆内存相等");

}else {

System.out.println(" 两个对象堆内存不相等");

}

if(u1 == u3){

System.out.println(" 两个对象堆内存相等");

}else {

System.out.println(" 两个对象堆内存不相等");

}

}

}

5.什么是对象的内容相等

1)对象的内容相等需要符合以下两个条件:

a)两个对象的类型是否相同(可以使用instanceof操作符进行比较);

b)两个对象的成员变量的值完全相同。

6.基本类型的对象一般用“==”来比较,其它类型的对象一般用“equals”来比较。

7.equals实例

class User{

public String name;

public int age;

public void User(){

System.out.println("User 的构造函数");

}

public boolean equals(Object obj){

if(this == obj){

return true;

}

if(obj instanceof User){

User u = (User)obj;

if(this.age == u.age && this.name.equals(u.name)){

return true;

}else{

return false;

}

}else{

return false;

}

}

}

class Test{

public static void main(String args[]){

User u1 = new User();

User u2 = new User();

User u3 = new User();

u1.age = 21;

u1.name = "张三";

u2.age = 21;

u2.name = "王五";

u3.age = 21;

u3.name = "张三";

if(u1.equals(u2)){

System.out.println(" 两个对象堆内存相等");

}else {

System.out.println(" 两个对象堆内存不相等");

}

if(u1.equals(u3)){

System.out.println(" 两个对象堆内存相等");

}else {

System.out.println(" 两个对象堆内存不相等");

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: