文档章节

toString 和equals

小猪猪的博客
 小猪猪的博客
发布于 2017/07/07 12:42
字数 200
阅读 5
收藏 0

1.使用toString   和equals 方法之前,注意看他们的类中是否重写了这两个方法,没有的话继承Object类

2.Object类中,equals 和==就是比较当前对象与比较对象的地址值;toString   就是:类名@地址值 

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

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

3.String类中 重写了上述方法,equals 先比较是否为同一对象(true),然后是否是当前对象的实例(true,遍历比较字符数组内容);  

public String toString() {
        return this;
    }

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) {
                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;
    }

4.为了安全,重写equals(),时就必须重写hashCode(),

本文转载自:https://my.oschina.net/u/3546063/blog/1162932?nocache=1499402512193

小猪猪的博客

小猪猪的博客

粉丝 10
博文 55
码字总数 26016
作品 0
南京
程序员
私信 提问
Object对象类

  Object对象类是所有类的祖先,他是默认自动继承的 Java为什么要做一个对象类呢?对象类的目的就是归一了类型,他就是把所有的类所有的对象归纳成为Object类型。因为对象他认为对象应该拥...

凯哥学堂
2016/12/28
12
0
《疯狂java讲义2》读书笔记——处理对象

java对象都是Object类的实例,都可直接调用该类中定义的方法,这些方法提供了处理java对象的通用方法。 打印对象和toString方法 运行上面程序后可能输出不同的结果:@符号后的6位十六进制数字...

我的夏幸运
2016/11/13
18
0
Java——API文档

Sun下载JDK--解压缩--javadoc文件(Constuctor Summary[构造方法]+Method Summary[方法]) 【Object】 Object类是所有Java类的根基类。 ----clone(); ----equals(Object o); ----finalize();......

野渡书生
2016/03/11
7
0
java中equals与hashCode还有tostring方法学习记录

package javas.fristdome01; import org.testng.annotations.Test; class Person { private String name; private int age; Person() { } Person(String name, int age) { this.name = name;......

知止内明
2017/11/20
0
0
Java核心技术第五章——2.Object类

Object类:所有类的超类 Object类是Java中所有类的始祖,在Java中每个类都是由它扩展而来的。但是并不需要这样写: public class Emloyee extends Object 如果没有明确的指出超类,Object就被...

Johnson木木
2018/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于ThinkPHP5.1+的Log无法记录SQL调试记录的小经历

项目开发阶段,除了基本编码外,性能也需要实时关注与优化。之前我的大部分项目都是使用ThinkPHP5.0以及ThinkPHP3.2,对于框架提供的日志记录和日志配置都差不多,然后使用ThinkPHP5.1的时候...

北桥苏
15分钟前
0
0
TiDB Binlog 源码阅读系列文章(四)Pump server 介绍

作者: satoru 在 上篇文章 中,我们介绍了 TiDB 如何通过 Pump client 将 binlog 发往 Pump,本文将继续介绍 Pump server 的实现,对应的源码主要集中在 TiDB Binlog 仓库的 pump/server.go...

TiDB
19分钟前
0
0
OSChina 周五乱弹 ——不知道假装开心,装的像么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :天黑了 你很忧愁, 你说世界上, 找不到四块五的妞, 行走在凌晨两点的马路上, 你疲倦地拿着半盒黄鹤楼。#今日歌曲推荐# 《四块...

小小编辑
今天
2.4K
18
Windows下学习C语言有哪些集成开发软件?

前言 初学者学习C语言遇到的最大困难想必就是搭建环境了,相当多的初学者就是被搭建环境导致放弃了学习编程,就我自己的经验而言,初学编程不应该受限于环境,使用成熟好用的环境就可以了,之...

Allen5G
昨天
2
0
Hello,Servlet!

Servlet来源 上文说过了servlet是什么,我们从servlet是什么中也可以了解到servlet的来源:servlet是Java的一个类,并且能够运行在web容器上,所以servlet是按照web容器的规范和Java的规范写...

蒙尘
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部