API:object当中的各种方法刨析(今日份:equals toString)

简介: API:object当中的各种方法刨析(今日份:equals toString)

object当中的equals类:


   对于祖宗类型当中的equals,是进行类与类之间的比较的

   但是对于默认的equals是比较简单的, 默认的情况下, 比较的是两个类当中的默认地址值

   但是我们的需求是需要比较两个对象当中的内容是不是一样的

   因此, 我们需要对其进行重写objects当中的equals类

   从而来实现对于不同对象之间内容的比较

*****向下转换, 重点*****

   public boolean equals(Object obj) {

       在这里, 我们需要注意的一点, 在进行重写的时候, obj是传入父类当中的一个东西, 子类当中有的父类是没有的, 所以我们需要使用强制向下转换, 从而保证这个对象能够使用子类当中特有的成员方法

 

  student stu2=(student)obj;
        return this.age==stu2.age && this.name.equals(stu2.name);
   public static void main(String[] args) {
        student stu1 =new student("swn",19);
        student stu2=new student("swn",19);
 
        System.out.println(stu1.equals(stu2));
//默认的equals是比较地址值
//更改之后比较内容, 答案是true

在这里, 如果使用了集合类型, 也就是说不再是student类的对象了, 那么就是无法比较的

     所以需要保证的是每一个比较的对象都是相同类的


       


if(obj instanceof student) {
           student stu2 = (student) obj;
            return this.age == stu2.age && this.name.equals(stu2.name);
        }
        else{
            return false;
        }
    }
 

  /*tips:instanceof是java当中的一个保留关键字, 相当于是双符号标识符


       作用:它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。


     


 

object类当中的的toString类型

/*api:

   简单的说就是在java当中已经写过的方法,类,能够进行直接的调用


   object类:能够直接或者间接的作为所有类的父类,是任何类的祖宗级别的类型


   toString返回该对象的字符串表示


   --------------------------------------

   注意细节

   在使用相应的打印语句直接打印相应的对象的时候, 在println当中, 在源码层面, 会自动的调用toString方法进行实现的

   所以说在打印的时候, 无论是直接打印对象名, 还是使用toString方法进行打印, 结果都会是一样的



   在java当中, 通常会对于toString方法进行一次重写, 因为原本通过对象名称进行直接打印出来的"准地址值"

   是没有任何的作用的

   作用:

       在对其重写之后就可以在其中通过打印对象名而直接对于相应的类当中的

       成员变量   进行字符串的连接而直接打印出来

   优点:

       可以通过直接打印对象名称从而了解成员变量的详细值

    */

 

@Override
    public String toString() {
        return "A{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
   public static void main(String[] args) {
    A a=new A("王森",18);

//可以看出来, 在对toString方法进行重写了之后, 通过调用对象名能够直接显示出其中的详细情况


 


       1.在这里直接对于对象名称进行打印, 最后出来的结果是一个准"地址值"

       2.无论是调用toString方法还是直接调用对象名称, 结果都是一样的, 也就是在打印对象名的时候, 系统会

       3.默认的对其进行使用相应的toString方法


相关文章
|
6月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
419 102
|
3月前
|
人工智能 API 开发者
图文教程:阿里云百炼API-KEY获取方法,亲测全流程
本文详细介绍了如何获取阿里云百炼API-KEY,包含完整流程与截图指引。需先开通百炼平台及大模型服务,再通过控制台创建并复制API-KEY。目前平台提供千万tokens免费额度,适合开发者快速上手使用。
2285 5
|
10月前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
12月前
|
编解码 人工智能 缓存
自学记录鸿蒙API 13:实现多目标识别Object Detection
多目标识别技术广泛应用于动物识别、智能相册分类和工业检测等领域。本文通过学习HarmonyOS的Object Detection API(API 13),详细介绍了如何实现一个多目标识别应用,涵盖从项目初始化、核心功能实现到用户界面设计的全过程。重点探讨了目标类别识别、边界框生成、高精度置信度等关键功能,并分享了性能优化与功能扩展的经验。最后,作者总结了学习心得,并展望了未来结合语音助手等创新应用的可能性。如果你对多目标识别感兴趣,不妨从基础功能开始,逐步实现自己的创意。
360 60
|
9月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
266 1
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
1681 5
|
JavaScript 前端开发
`Object.create()` 方法的参数
【10月更文挑战第29天】`Object.create()` 方法的参数提供了多种创建对象和控制对象属性及继承关系的方式,开发人员可以根据具体的需求灵活运用,以实现更高效、更符合设计要求的对象创建和继承机制。
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
492 4
|
设计模式
在实际开发中,什么时候应该使用 `new` 关键字,什么时候应该使用 `Object.create()` 方法?
【10月更文挑战第29天】`new` 关键字适用于创建具有特定类型和初始化逻辑的对象实例,以及实现基于原型链的继承;而 `Object.create()` 方法则适用于基于现有对象创建相似对象、避免构造函数的副作用、创建具有特定原型链的对象等场景。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象,以实现更高效、更灵活的代码结构。
|
9月前
|
Java
课时78:Object类的基本概念
Object类的主要特点是可以解决参数的统一问题,使用object类可以接受所有的数据类型。 1. Object类简介 2. 观察Object类接收所有子类对象 3. 使用Object类接收数组
186 0