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方法


相关文章
|
14天前
|
Java API
JavaSE——常用API进阶二(6/8)-ZoneId、ZoneDateTime、Instant(常见方法、用法示例)
JavaSE——常用API进阶二(6/8)-ZoneId、ZoneDateTime、Instant(常见方法、用法示例)
14 1
|
14天前
|
存储 Java API
JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)
JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)
16 2
|
14天前
|
安全 Java API
JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)
JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)
26 2
|
14天前
|
存储 Java API
JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)
JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)
13 1
|
14天前
|
Java API
JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)
JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)
6 1
|
14天前
|
存储 Java API
JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)
JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)
14 1
|
7天前
|
安全 数据挖掘 API
【实时数据】商品详情API接口系列开发
商品详情API接口系列对于电商平台至关重要,它们为开发者提供了实时、准确的商品信息,使得在线销售和展示商品变得更加高效和精准。以下是几个主要的电商平台及其商品详情API接口的介绍:
|
15天前
|
监控 供应链 搜索推荐
数据驱动电商:深度利用淘宝API接口掌握商品详情
本文探讨了如何利用淘宝API接口获取商品详情数据以助力电商决策。通过API,商家能获取商品标题、价格、库存等信息,从而进行市场分析、库存优化、定价策略制定及个性化推荐。步骤包括注册获取API权限、理解文档、构建数据收集流程、处理分析数据以及应用结果。示例代码展示了如何用Python调用API获取商品详情。善用API和数据驱动策略可在电商市场中取得优势。请注意遵循淘宝的API使用规范。
|
1天前
|
存储 前端开发 安全
Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口
这篇文章介绍了如何使用Supabase实现RESTful风格的API接口,用于网站分类和子站点的增删改查(CURD)功能。文章首先阐述了表设计,包括ds_categorys和ds_websites两张表的列名、类型和用途,并提到了为每张表添加的user_id和email字段以支持用户身份识别。接着,文章描述了接口设计,以ds_websites表为例,说明了如何通过RESTful API实现CURD功能,并给出了使用SupabaseClient实现插入数据的相关代码。文章最后提供了项目效果预览和总结,指出学习了Nuxt3创建接口及调用Supabase数据库操作。
Nuxt3 实战 (十):使用 Supabase 实现 RESTful 风格 API 接口
|
1天前
|
XML 安全 API
API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测
API攻防-接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测