java中equals使用方法

 我来答
愤想事成
推荐于2017-09-09 · TA获得超过3810个赞
知道大有可为答主
回答量:2725
采纳率:71%
帮助的人:293万
展开全部

java中equals使用方法:

  1. equals 方法是String类从它的超类Object中继承的, 被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。

    对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。 例如:

  2. s1 = new String("abc");
    s2 = new String("abc");
    s1.equals(s2) 是 true

 

   3.对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。

class A
{
      A obj1   =   new  A();
      A obj2   =   new  A();
}
    obj1.equals(obj2)是false
ijava学习网
2018-06-11 · 国内最优秀java资源共享平台
ijava学习网
国内最优秀的java免费资源共享及学习平台,专注从实战中学习与成长。主要包括教程、经验分享、知识、资讯、工具、手册、视频及各种资源下载。
向TA提问
展开全部
1. java中equals使用方法

equals:
操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同,且区分大小写

注: 通过查看源码更加清晰:

public boolean equals(Object anObject) {
//两个变量是否是对同一个对象的引用
*
==用于比较引用和比较基本数据类型时具有不同的功能
if (this == anObject) {
return true;
}
A instanceof B ,返回值为boolean类型,
* 用来判断A是否是B的实例对象或者B子类的实例对象。
* 如果是则返回true,否则返回false
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
2. 案例
equals():比较字符串中所包含的内容是否相同
//这个是内容明显相同
String a = new String("字符串1");
String b= new String("字符串1");
boolean c = a.equals(b);
System.out.println(c);

//内容不同
String a1 = new String("字符串1");
String b1= new String("字符串2");
boolean c2 = a1.equals(b1);
System.out.println(c2);

3."equals"方法的作用是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
创建一个对象方便测试
class Demo
{

}
//"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。
public class TestDemo {

public static void main(String[] args) {

//实例化对象
Demo obj1 = new Demo();
Demo obj2 = new Demo ();
boolean d = obj1.equals(obj2);
System.out.println(d);
//扩展
//可以通过查看他们的地址值比较
System.out.println(obj1);
System.out.println(obj2);
//明显地址不一致 所以是false

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rj05202011
2012-04-17 · TA获得超过224个赞
知道答主
回答量:153
采纳率:0%
帮助的人:123万
展开全部
equals用于对象之间的比较,代表着不仅值要相等,而且地址也要相等。
String a="11"; String b="11"; 这时 这两个值是相等的。如果String a1 =new String("11");
String b = new String("11");这个时候,这两个值是不相等的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-04-17 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
自定义对象,往往要覆盖equals方法,来判断两个对象是否“相等”
如两个学生对象,如果学号相等,就认为是同一个对象。
private int num; //学号
..........
public boolean equals(Student student2){
return this.num == student2.num;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-17
展开全部
一般用于字符串对象的比较。比较的是对象的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式