equals()方法是根类Object中的一个方法,子类可以根据需要重写该方法(比如:String类)。

一、Object类中的equals()方法实现如下:

     public boolean equals(Object obj) {
return (this == obj);
}

例子:

 package com.mianshi.easy;

 class A{}

 public class Equals {

     public static void main(String[] args) {
A a1 = new A();
A a2 = new A();
A a3 = a2;
System.out.println(a1.equals(a2));
System.out.println(a3.equals(a2));
}
} 结果:
false
true

类A默认继承自Object类,所以具有父类中的public修饰的的equals()方法,并且功能相同。

该方法实现的功能是比较两个对象是否是同一个对象,是同一个对象回true,否则,返回false。equals()比较的是obj存放的对象的地址值,这一点跟“==”一样。

二、String类的中的equals()方法实现如下:

  public boolean equals(Object anObject) {
if (this == anObject) {              //先比较两个对象是否为同一个对象
return true;
}
if (anObject instanceof String) {  
String anotherString = (String)anObject;  
int n = value.length;
if (n == anotherString.value.length) {   //比较两个对象的值是否相同,值相同equals()返回true
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;
}

例子:

 package com.mianshi.easy;

 public class Equals {

     public static void main(String[] args) {
String a1 = new String("Hello");
String a2 = new String("Hello");
String a3 = "Hello";
//a1和a2明显不是一个对象,但是equals()返回true
System.out.println(a1.equals(a2));
//a1和a3不是同一个对象,equals()返回true
System.out.println(a3.equals(a1));
}
} 结果:
true
true

说明String类里面重写了父类Object类的equals()方法,重写后比较的是两个String对象的内容是否相同,相同则为true。

equals()方法的更多相关文章

  1. List<T>Find方法,FindAll方法,Contains方法,Equals方法

    假如传入的T是一个类, List<MessageInfos> MessageInfos = new List<MessageInfos>(); MessageInfos= Me ...

  2. [java] 更好的书写equals方法-汇率换算器的实现(4)

    [java] 更好的书写equals方法-汇率换算器的实现(4) // */ // ]]>   [java] 更好的书写equals方法-汇率换算器的实现(4) Table of Content ...

  3. java中的equals()方法重写

    如何java中默认的equals方法跟实际不符的话,需要重写equals方法.例如: public class TestEquals { public static void main(String[ ...

  4. java提高篇(十三)-----equals()方法总结

    equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public boolean equals(Object obj) { retu ...

  5. Java中“==”与equals方法的区别

    1. 用“==”比较两个变量,如果两个变量是基本类型变量,且都是数值类,则值相等就返回true 如果两个变量是引用型变量,则两个对象的地址一样,即指向同一个对象,则返回true 2.equals:St ...

  6. C#中==与Equals方法的区别

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Console ...

  7. java重写equals方法

    @Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...

  8. 重写Object类中的equals方法

    Object是所有类的父亲,这个类有很多方法,我们都可以直接调用,但有些方法并不适合,例如下面的student类 public class Student { //姓名.学号.年纪 private S ...

  9. java中hashCode方法与equals方法的用法总结

    首先,想要明白hashCode的作用,必须要先知道Java中的集合. 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set. 前者集合内的元素是有序的,元素可以重 ...

随机推荐

  1. HT for Web可视化QuadTree四叉树碰撞检测

    QuadTree四叉树顾名思义就是树状的数据结构,其每个节点有四个孩子节点,可将二维平面递归分割子区域.QuadTree常用于空间数据库索引,3D的椎体可见区域裁剪,甚至图片分析处理,我们今天介绍的是 ...

  2. C# 获取 mp3文件信息

    C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612   string fil ...

  3. Winform开发中常见界面的DevExpress处理操作

    我们在开发Winform程序的时候,需要经常性的对界面的一些控件进行初始化,或者经常简单的封装,以方便我们在界面设计过程中反复使用.本文主要介绍在我的一些项目中经常性的界面处理操作和代码,以便为大家开 ...

  4. JQuery 快速入门一篇通

    JQuery是什么? JQuery 是一套JavaScript库, 使用它,可以很方便的进行 JavaScript的编程.比如: 获取页面元素, 修改页面元素的CSS样式等等都可以以很简单的语法完成. ...

  5. Jquery获取checkbox属性checked为undefined

    说明:本文来自新浪博客,因为无法收藏,故直接copy过来备注,以后好查询 原网址:http://blog.sina.com.cn/s/blog_6810dfc20101jddq.html 使用jQue ...

  6. MVC之前的那点事儿系列(4):Http Pipeline详细分析(上)

    文章内容 继续上一章节的内容,通过HttpApplicationFactory的GetApplicationInstance静态方法获取实例,然后执行该实例的BeginProcessRequest方法 ...

  7. 疯狂Android讲义 - 学习笔记(一)

    常用开发工具的用法 android : 启动Android SDK管理器 android --help  查看具体用法 android create avd -n t10 -t 10 -b armea ...

  8. django pdb

    import pdb; pdb.set_trace()   http://charlee.li/debug-djangp-with-pdb.html https://github.com/tomchr ...

  9. mybaits注解

    基本的增删改 @Insert("insert into t_user values(null,#{username},#{password},#{account})") @Dele ...

  10. Java经典实例:把字符串解析为日期时间

    Java版本:1.8开始 import java.time.LocalDate; import java.time.LocalDateTime; /** * Created by Frank */ p ...