toString()和equals()方法详解
一:toString()方法
Object中toString方法
 public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
返回的值: 类名+@+十六位的hashCode值
通常使用的toString()方法是利用重写覆盖Object中的toString()方法,自定义toString方法。
public class Animal {
    String name;
    int age;
//重写的toString()方法,返回的是name和age
    @Override
    public String toString() {
        return "Animal{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
二:equals()方法
Java中 “==” 比较:如果是基本数据类型比较的是值,如果是引用数据类型比较的是地址。
(1)Object中equals方法:
    public boolean equals(Object obj) {
      return (this == obj);
    }
(2)String中重写的equals方法:(比较两字符串的值是否相等)
 public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
//instanceof表示判断左边的对象是否是右边类或子类的的对象
        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;
    }
(3)自定义比较规则,重写equals方法。
toString()和equals()方法详解的更多相关文章
- java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解
		
public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...
 - java 中toString()方法详解
		
1.toString()方法 Object类具有一个toString()方法,你创建的每个类都会继承该方法.它返回对象的一个String表示,并且对于调试非常有帮助.然而对于默认的toString() ...
 - equals()方法详解
		
Java语言中equals()方法的使用可以说比较的频繁,但是如果轻视equals()方法,一些意想不到的错误就会产生.哈哈,说的有点严重了~ 先谈谈equals()方法的出身.equals()方法在 ...
 - Java提高篇——equals()与hashCode()方法详解
		
java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int hashCode() Object类是类继 ...
 - java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问
		
本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...
 - equals()与hashCode()方法详解
		
java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int hashCode() Object类是类继 ...
 - 【Java】equals()与hashCode()方法详解  (转)
		
java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int hashCode() Object类是类继 ...
 - equals()方法和hashCode()方法详解
		
equals()方法和hashCode()方法详解 1. Object类中equals()方法源代码如下所示: /** * Object类中的equals()方法 */ public boolean ...
 - Java中的equals和hashCode方法详解
		
Java中的equals和hashCode方法详解 转自 https://www.cnblogs.com/crazylqy/category/655181.html 参考:http://blog.c ...
 
随机推荐
- 【maven】插件和依赖管理
			
1.插件管理 定义 pluginManagement 用来做插件管理的.它是表示插件声明,即你在项目中的pluginManagement下声明了插件,Maven不会加载该插件,pluginManage ...
 - [转]eclipse中explorer显示方式
			
原文地址:https://www.cnblogs.com/gne-hwz/p/7590451.html 不知道是不是上面的描述.做个记录 project explorer 项目资源管理器 这个要打开代 ...
 - IDEA中不编译src/main/java目录下的*.xml文件
			
使用idea构建maven项目时不编译src/main/java目录下写的mapper.xml文件,这是找到pom.xml文件,在<build>节点下添加如下代码: <!-- map ...
 - mongodb 切换wiredtiger
			
1.由于最近用到mongodb但查询时前十分左右,用压力测试不太稳定,所以换成第三方引擎试试,但效果还是一样. 具说第三方引擎比较给力,但在使用没有发现.现将mongodb切换wiredtiger引擎 ...
 - win10锁住鼠标和键盘操作。
			
以前做的一个winform自动更新程序没考虑到程序在更新过程中禁止操作被更新程序.现在加上了更新过程中锁住鼠标和大部分键盘. 碰到问题:用系统api -- BlockInput(true)锁住屏幕无效 ...
 - ztree实现拖拽移动和复制
			
1.官网下载ztree:http://www.treejs.cn/v3/api.php 2.引入jquery.ztree.all.min.js 注意,这是基于jQuery的插件,请引入相关js 3.设 ...
 - 第7/7Beta冲刺
			
1.团队成员 成员姓名 成员学号 秦裕航 201731062432(组长) 刘东 201731062227 张旭 201731062129 王伟 201731062214 2.SCRU部分 2.1各成 ...
 - 关于TI公司DSP工程调用DELAY_US()进入非法中断问题的解决
			
最近笔者在调试一个DSP程序时,发现在ad外设初始化时无法正常执行,单步检查,发现当执行到调用 DELAY_US(1000);语句时,就跳入非法. 进一步追查,DELAY_US()是宏定义函数,在笔者 ...
 - (转)nginx与PHP的关系
			
php是一门编程语言,可以编写很多程序,但是只有php的话,你的php只能在你的服务器里孤立的运行,比如你用php写了一个可以通过身高计算人的标准体重的程序,虽然这个程序可以在服务器运行,但是他还不能 ...
 - Java基础系列3:多线程超详细总结
			
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 1.线程概述 几乎所 ...