[ Java学习 ] toString方法 和 equals方法

时间:2023-02-25 16:53:04

/*

  这篇博文整理自老师给我们的教案,主要讲的是 java中,object类中,的toString方法 和equals方法

*/

 

[ Java学习 ]类的其他文章汇总(都是超链接,可直接点击):

[ Java学习]实验 银行业务模拟

[ Java学习]破除思维定势之C++Java的差异001

[ Java学习]破除思维定势之C++Java的差异002

[ Java学习]破除思维定势之C++Java的差异003

[ Java学习]包语句package等语句的汇总整理

[ Java学习] Java变量以及内存分配(非常重要)

[ Java学习]其他知识总结(重要)

[ Java学习]goto语句“ 和 “continue +标号” 的不同待遇

 

[ Java学习]查阅资料整理001

 

-------------------------------言归正传,进入本文的内容-------------------------------

 

 

所有类都从Object类继承。如果我们定义的类没有覆盖toString方法,则对象在调用toString方法时用的是ObjecttoString方法,返回的是类名@hashcode".

 

同理,如果equals没有被覆盖,作用则是判断两个对象是否相同

 

String类会覆盖上面两个方法,toString返回自身。equals则用于判断两个字符串的字符是否全部一样。所以我们在判断两个字符串是否一样时用的是equals。而用==号则会判断两个对象是否一样,得到错误的结果

 

例子如下:

 

package yangguo.snakegame;

import java.awt.FlowLayout;

public class Test

{

    public static void main( String[] args ) throws Exception

    {

 

     Test test = new Test();

     Test test2 = new Test();

     String word = new String("it is a pratics");

     String word2 = new String("it is a pratics");

     

     System.out.println(test.toString());

     System.out.println(test.equals(test2));

     

     System.out.println(word.toString());

     

     System.out.println(word.equals(word2));

    }

}

 

//output

yangguo.snakegame.Test@ca0b6

false

it is a pratics

true