java常用API之Object

Objct

在这里插入图片描述

toString()

package myObjct;

public class myObjct {
    public static void main(String[] args) {
        Object o=new Object();

        System.out.println(o.toString());//打印结果java.lang.Object@27f674d
        


    }
}

java.lang.Object@27f674d后面的@27f674d是地址值


package myObjct;

import java.util.Scanner;

public class myObjct {
    public static void main(String[] args) {
        Object o=new Object();

        System.out.println(o.toString());//打印结果java.lang.Object@27f674d


        Student student=new Student();
        String str =student.toString();

        System.out.println(str);//myObjct.Student@48140564
        //学生类没有继承  但是Object也是所有类的父类

        //System类名
        //out 静态变量
        //System.out 获取打印对象
        //println();方法
        //参数:表示打印内容
        //逻辑
        //当我们打印一个对象是 底层会调用tostring方法 把对象变成字符串 然后再打印在控制台

        //默认情况下 object类中 tostring方法返回地址值
        //打印一个对象打印就是地址值
        //但是地址值对我们没什么意义
        //我想看到对象内部属性值 怎么办
        //重写父类Object类中的tostring方法
    }
}

结论 我们打印一个对象 想看到属性值就重写toString方法就可以了,再重写的方法中,把对象属性值进行拼接 如下

在这里插入图片描述

equals

package myObjct;

public class myEquals {
    public static void main(String[] args) {

        //比较两个对象用的


        Student s1=new Student(12,"打");
        Student s2=new Student(13,"打");

        boolean result=s1.equals(s2);
        System.out.println(result);//打印结果为false
        //如果没有重写 equals方法 默认使用object种方法比较 因为他比较的是两个对象的地址值
        //让他比较两个对象属性需要重写equals方法

        
    }
}

在这里插入图片描述

练一练

package myObjct;

public class test {
    public static void main(String[] args) {
        String s="abc";
         StringBuilder sb=new StringBuilder("abc");

        System.out.println(s.equals(sb));//false

equals方法是被s调用
所以要看String里的equals方法
字符串里的equals方法 要看传进来的是不是字符串 这里传了StringBuilder不是字符串 所以为false

 System.out.println(sb.equals(s));//false

这里的equals被StringBuilder调用的
但是StringBuilder中没有equals方法
使用的是object中的 但是object中比较的是地址值 所以false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值