Java 中的“==”和equals()方法区别_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java 中的“==”和equals()方法区别

Java 中的“==”和equals()方法区别

 2015/4/3 21:43:33  JokerLinisty  程序员俱乐部  我要评论(0)
  • 摘要:1、“==”1)用于比较两个基本数据类型数据是否相等,比较的是内存中存储的值是否相等。如:inta=100;intb=100;则a==b结果为true。2)用于判断两个引用变量是否指向同一对象。如:Stringa="abc";b=a;则a==b结果为true。另外:Stringa="abc";Stringb="abc";则a==b结果依然为true。(指向字符串常量池中的同一个对象)2、equals()方法1)用于比较两个引用变量指向的对象值是否相等。如:Stringa=newString
  • 标签:方法 区别 Java

1、“==”

?

??? 1)用于比较两个基本数据类型数据是否相等,比较的是内存中存储的值是否相等。

??? 如:int a=100;

???????????int b=100;

????则a==b结果为true。

?

??? 2)用于判断两个引用变量是否指向同一对象。

??? 如:String a="abc";

?????????? b=a;

??? 则a==b结果为true。

??? 另外:String a="abc";

??????????????String?b="abc";

????则a==b结果依然为true。(指向字符串常量池中的同一个对象)

?

2、equals()方法

?

??? 1)用于比较两个引用变量指向的对象值是否相等。

??? 如:String a=new String("abc");

???????????String b=new String("abc");

??? 则a==b结果为false,a.equals(b)结果为true。

?

??? 2)对于自定义的类,默认会继承Object对象的equals()方法,代码如下:

class="java" name="code">public boolean equals(Object o){
	return this==o;
}

??? 结论:

??? a)如果自定义类没有覆写Object的equals()方法,则使用equals()的效果和使用“==”一样,即比较两个引用变量是否指向同一个对象。

??? b)如果想比较自定义类的两个对象是否相等,则需要覆盖Object的equals()方法,定义自己的比较规则。

??? 比如:

public class Person{
	private String name;
        public void setName(String name){
		this.name=name;
	}
	public String getName(){
		return name;
	}
	public boolean equals(Object obj){
		if(this==obj){
			return true;
		}
		Person p=(Person)obj;
		return p.getName().equals(this.name); 
	}
}

?

上一篇: 来自太阳系外的神秘信号 疑似外星人的通讯信号 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名