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


相关文章
|
2天前
|
JSON API 数据格式
App Inventor 2 天气预报App开发 - 第三方API接入的通用方法
通过调用第三方天气api,填入必要的参数,通过Web客户端请求url。返回json格式的数据结果,使用AppInventor2解析json结果,显示到App上即可。
32 5
|
13天前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
25 1
|
18天前
|
Java
Java中的Object类 ( 详解toString方法 | equals方法 )
Java中的Object类 ( 详解toString方法 | equals方法 )
|
4天前
|
JSON 人工智能 API
App Inventor 2 人脸识别App开发 - 第三方API接入的通用方法
**App 效果图**:展示人脸识别功能,可识别性别和年龄。 **工作原理**:调用第三方人脸识别API,上传图片并接收返回的JSON数据,AppInventor2解析结果显示。
18 0
|
11天前
|
存储 监控 API
解锁京东 APP 商品详情的 API 接口获取方法
在数字化商业环境中,获取京东APP商品详情的API接口至关重要。这有助于电商数据分析、价格监控、商品推荐等。API接口提供高效、稳定且合规的数据源,允许快速获取大量商品信息。要使用接口,需注册开发者账号、了解接口文档并进行开发调试。示例代码展示了Python如何调用接口。同时,注意遵守规则、处理数据安全及接口更新。利用API能提升业务效率,但需在合法合规下进行。
|
14天前
|
JSON JavaScript API
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
JS【详解】Map (含Map 和 Object 的区别,Map 的常用 API,Map与Object 的性能对比,Map 的应用场景和不适合的使用场景)
15 0
|
14天前
|
缓存 JSON 算法
http【详解】状态码,方法,接口设计 —— RestfuI API,头部 —— headers,缓存
http【详解】状态码,方法,接口设计 —— RestfuI API,头部 —— headers,缓存
20 0
|
15天前
|
API
Vue2和Vue3的区别,OptionsAPI与CompositionAPI的区别,Vue2所有的数据,都写在data和method方法中,setup是一个全新的配置项,Vue2是选项式API的写法
Vue2和Vue3的区别,OptionsAPI与CompositionAPI的区别,Vue2所有的数据,都写在data和method方法中,setup是一个全新的配置项,Vue2是选项式API的写法
|
2月前
|
Java
Java Object 类
5月更文挑战第16天
|
2月前
|
存储 算法 Java
滚雪球学Java(42):探索对象的奥秘:解析Java中的Object类
【5月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 2
滚雪球学Java(42):探索对象的奥秘:解析Java中的Object类