Java学习笔记五:Object类,equals ==,toString

本文深入探讨了Java中Object类的重要性和基本功能,包括如何使用equals方法进行对象比较及toString方法的应用,通过实例展示了字符串对象的比较过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ObjectClass

这个类是所有类的父类。没有显示的继承字其他类的类都是默认继承自此类。

相等== equal

基本数据类型之间的比较用==比较的是他们的值

复合数据类型的比较是说明两个的引用是一样的,也就是内存中存放的地址是一样的。

Object类中的equals函数比较的其实是内存地址,使用==实现的。但是很多其他类将其重写。Equals函数只用来表述对象之间的比较,运算符不能重载但是可以重载equals函数

举个例子:String类重写了equals函数


Strings1="new";

         Strings2 ="new";

         Strings3 =new String("new");

        if(s1==s2)System.out.println("s1 is identical to s2");

        else System.out.println("s1 is not identical to s2");

        

        if(s1==s3)System.out.println("s1 is identical to s3");

        else System.out.println("s1 is not identical to s3");

        

        if(s1.equals(s2))System.out.println("s1 is equal to s2");

        else System.out.println("s1 is not equal to s2");

        

        if(s1.equals(s3))System.out.println("s1 is equal to s3");

         else System.out.println("s1 is not equal to s3");

 


 

输出结果是:

s1 is identical to s2

s1 is not identical to s3

s1 is equal to s2

s1 is equal to s3

 

 

toString方法

 

这也是Object类自带的,所有类都会有的,可以自己重写的。

就是可以方便的把类的有关信息作为字符串输出,而且在遇到println之类时会自动调用

 

举个例子:

要是不重写toString的话

inta;

      Strings;

      TestClass(inta,String s){

        this.a =a;

        this.s =s;

      }

  

      public staticvoid main(String args[]){

        

         TestClasst =newTestClass(10,"hh");

         System.out.println(t);

   }

输出:

TestClass@2a139a55

但是加上一段:

public String toString(){

        return a+" "+s;

      }

再进行System.out.println(t);的时候输出的是:

10 hh

 

另外,在用StringBuffer的时候,必须得先调用其toString转化成string才能用println输出


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值