equals 的用法

class Value {
int i;
}

public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);
System.out.println(n1.equals(n2));

}
}

输出结果是
false
ture
为什么?

equals 方法是 java.lang.Object 类的方法。

有两种用法说明:

(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。

“==”比较两个变量本身的值,即两个对象在内存中的首地址。

“equals()”比较字符串中所包含的内容是否相同。

比如:

String s1,s2,s3 = "abc", s4 ="abc" ;

s1 = new String("abc");

s2 = new String("abc");

那么:s1==s2 是 false //两个变量的内存地址不一样,说明指向的对象不 一样,故不相等。
s1.equals(s2) 是 true //两个变量的所包含的内容是abc,故相等。

注意(1):

如果: StringBuffer s1 = new StringBuffer("a");
StringBuffer s2 = new StringBuffer("a");
结果: s1.equals(s2) //是false

解释:StringBuffer类中没有重新定义equals这个方法,因此这个方法就来自Object类,
而Object类中的equals方法是用来比较“地址”的,所以等于false.

注意(2):

对于s3和s4来说,由于s3和s4是两个字符串常量所生成的变量,其中所存放的内存地址是相等的,所以s3==s4是true(即使没有s3=s4这样一个赋值语句)。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-03
equals比较两个字符串是否相等。很明显,你写的v1.equals(v2)是比较两个对象是否相等,且value这个类又是你自己定义的。
第二个是比较两个interger的对象。不是你自己定义的。
建议你多了解equals和==的区别。本回答被提问者采纳
第2个回答  2009-01-26
equals和==的区别:
一个对象名实际是一个指针

==比较的是两个指针是否指向同一个地址

equals比较的是两个指针指向的地址中的内容
第3个回答  2009-01-26
因为Value类是你自己写的,equals无法对其进行判断(因为他不知道你这个类中的具体内容),如果你还要实现equals的功能就要自己对其进行重写.
第4个回答  2009-01-26
重写

equals的用法
一、词义辨析不一样 1、equal多指在价值等方面相当而不相同的事物。例:We are equal in every way 我们在各个方面都是平等的。2、equivalent主要指有同样价值、效力或意义的两种不同的事物。例:Some modes are logically equivalent but differ in their purpose.有些模式逻辑上是等价的,但是用途却...

equals有什么用法呢?
equal的用法可用作形容词,搭配如下:1、equal用作形容词,表示相同的、相等的。短语搭配:They are of equal height.他们一样高。2、用于be equal to 表示“等于”“能胜任”“能应付”等,其中的to是介词(其后接动词时应用动名词)。短语搭配:This is equal to saying that he knows her well...

java中equals使用方法
Java中的equals方法用于比较两个对象的内容是否相等。默认情况下,equals方法比较的是对象的引用,也就是内存地址。但是,许多类已经重写了这个方法,使其比较的是对象的实际值。在使用时,需要注意对象是否重写了equals方法。如果没有重写,则需要自定义比较逻辑。详细解释:1. 基本用法与意义:在Java中,e...

equals 的用法
equals 方法是 java.lang.Object 类的方法。有两种用法说明:(1)对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。比如:String s1,s2,s3 = "abc",...

equals是什么意思(equals和等号的区别)
如果是基本类型,如int、long、float等数据,只能使用==,含义即是比较2个数是否相等,而对于类类型,==表示比较两个对象的引用地址是否相同,而equals可通过override重写逻辑,来判断对象的内容是否相同,常用于字符串比较中。希望以上回答可以帮助到您。equal作动词什么用法 这个词最初认识是动词,小学都...

equals to与equal的区别是什么?
equals to与equal的主要区别在于它们的用法和语境。首先,从基本含义上来看,"equal"是一个形容词,意为“相等的,平等的”,它通常用于描述两个或多个事物在数量、质量、价值或地位上的相同或相似性。例如,当我们说“这两个数相等”时,我们指的是它们在数值上没有差异。而"...

A equals B.的用法正确吗?
A equals B. 用法是正确的。句中equal是及物动词,后直接接宾语B。因主语A是第三人称单数形式,所以谓语动词用三单形式equals。A equals to B. 用法是错误的,应改为A is equal to B. be equal to是一个介词短语,固定用法,句中equal用作形容词,后面接介词to。因主语A是第三人称单数形式,...

equals怎么读音发音
equals是一个英文单词,表示相等或一样的意思;在Java编程中也有一个方法叫做 equals(),用于判断两个对象是否相等;除此之外,equals 这个词还有其他的用法,比如在代数学中常用于表示等于号的符号“=”。2、equals在代码中的应用 在Java语言中,equals()方法是Object类中的一个方法,可以被所有Java对象...

JAVA中equals的定义,用法,方法重写是怎么回事
如果我理解没错的话你说的应该是最初出现在Object类里的equals方法吧。在这里我说一下我对这个方法的理解,仅供参考。这个函数的用法是:比较[调用这个方法的对象]和[方法传递进去的参数对象]是否相等。重写这个方法,意思是让你定义两个对象如何才算是相等。这样给了你极大的灵活性。因为比较两个对象...

equal 的用法
equals,因为one plus one是一个句子作主语,应该用单数

相似回答