JAVA 面向对象补充[toString方法和equals方法]

一.toString  方法

这里的toString  和 C#的To string 是两回事.

JAVA中to string :

Object类中都有一个to string() 方法,创建的每一个类都会继承这个方法,返回一个对象的String 表示.

代码:

注释代码后结果:

取消注释后结果:

二.equals方法

时间: 2024-11-05 12:35:25

JAVA 面向对象补充[toString方法和equals方法]的相关文章

java 数组的 toString 方法和 equals 方法以及 java.lang.Object 对象的 toString 方法和 equals 方法

1 public class Test { 2 public static void main(String[] args) { 3 int[] a = {1, 2, 4, 6}; 4 int[] b = a; 5 int[] c = {1, 2, 4, 6}; 6 7 //下面这个方法打印的是a数组的引用地址 8 System.out.println(a.toString()); 9 //下面这个方法比较的是两个数组的引用是否相等 10 System.out.println("a.equals

java课堂笔记------toString方法和equals方法

* 重写toString方法 * 当我们需要使用当前类的toString方法时,通常我们 * 就需要重写该方法.具体返回字符串的格式没有严格 * 要求,可根据将来实际开发中的需求而定.但通常反 * 回的字符串中应当包含当前类的属性值,以便了解当前 * 对象的信息. * 格式:(x,y) public String toString(){ return "(" + x + "," + y + ")"; } * 通常我们会重写一个类的equals方法

Java连载56-toSting方法和equals方法

Java连载56-toSting方法和equals方法一.关于object中的toString?方法: 1.SUN公司在Object类中设计toString方法的目的:返回java对象的字符串的表示形式. 2.在现实的开发过程中,Object里面的toString方法已经不够用了,因为Object的toString方法实现?的结果不满意.Object中的toString方法实现的结果不满意.Object中的呢toString?方法要被重写了. 3.println打印的如果是对象的话,那么就会默认

java为什么要重写hashCode方法和equals方法?

之前发布过一篇文章说的是关于 equals方法重写 http://www.cnblogs.com/aL0n4k/p/4777333.html 下面就hashCode方法发表一下本人的理解,仅供参考,交流. 在 关于java重写equals方法 已经提及说,比较2个对象的时候,要比较他们各自的属性. 那么重写hashCode方法是因为我们在接触到集合的时候,里面有个Set接口,他只能添加无序以及不重复的对象元素. 那有人会问,既然是这样我们直接用equals判断不就完了么? 实际上对Set集合而言

集合类hashCode()方法和equals()方法

1.散列码: Object中的HashCode方法会返回该对象的的内存真实地址的整数化表示,这个形象的不是真正抵制的整数值就是哈希码. 2.利用哈希码向集合中插入数据的顺序? 向HashSet中添加对象时,HashSet先通过该对象的HashCode()计算出相应的桶,然后再根据equals()方法找到相应的对象,如果容器中已存在该对象则不再添加,如果不存在,则添加进去. 3.什么时候重写hashCode()方法?         String和Integer这些Java自带的类都重写了hash

Java 重写hashCode 方法和equals方法

package Container; import java.util.HashSet; import java.util.Iterator; /* Set 元素是无序的(存入和取出的顺序不一定一致),元素不可以重复 |---HashSet:底层数据结构是哈希表 | HashSet是如何保证元素唯一性呢? | 是通过两个方法来完成的 hashCode 和 equals来完成的 | 如果元素的hashCode值相同,才会判断 equals 是否为true | 如果hashCode值不相同,不会调用

Java 中正确使用 hashCode 和 equals 方法

在这篇文章中,我将告诉大家我对hashCode和equals方法的理解.我将讨论他们的默认实现,以及如何正确的重写他们.我也将使用Apache Commons提供的工具包做一个实现. 目录: hashCode()和equals()的用法 重写默认实现 使用Apache Commons Lang包重写hashCode()和equals() 需要注意记住的事情 当使用ORM的时候特别要注意的 hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的jav

HashSet中存方用户自定义数据类型数据,重写equals方法和hashCode方法

import java.util.Set; import java.util.HashSet; public class SetTest { public static void main(String[] args) { /* *对于用户自定义类型的数据放在容器(Set)中 *务必重写equals和hashCode方法 *要不然stu1和stu2放在容器中,和认为是两个不同的元素 **/ //set中存放的元素是无序的 //set中存储的元素是不可以重复的(根据equals方法和hashCod

详解equals()方法和hashCode()方法

前言 Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码.equals()和hashCode()都不是final方法,都可以被重写(overwrite). 本文介绍了2种方法在使用和重写时,一些需要注意的问题. 一.equal()方法 Object类中equals()方法实现如下: public boolean equals(Object obj) { return (this == obj); } 通过该实现