Java 使用类型为Object的变量指向任意类型的对象


Posted in Java/Android onApril 13, 2022

基本概念:

  • Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入;
  • Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。可以使用类型为Object的变量指向任意类型的对象

equals()方法:比较两个对象是否同一

      如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等。如果两个引用对象指的是同一个对像,则称这两个变量同一。Object类中定义的equals 函数原型为:

public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等

Java 使用类型为Object的变量指向任意类型的对象

  •  ①只能处理引用类型变量
  •  ②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等
package com.example.demo.test;

public class Person {

    private String userName;
    private String age;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}
package com.example.demo.test;

public class Test {

    public static void main(String[] args) {
        Person p1 = new Person();
        Person p2 = new Person();
        System.out.println(p1.equals(p2));
        System.out.println(p1 == p2);

        /*
         * String类重写了Object类的equals()方法,比较是两个对象的实体内容"是否完全相同。
         */
        String s1 = new String("AA");
        String s2 = new String("AA");
        System.out.println(s1.equals(s2));
        System.out.println(s1 == s2);
    }
}

Java 使用类型为Object的变量指向任意类型的对象

从运行结果可以看到的是Object中的equals方法比较的是两个对象是否同一,

而String类中的equals方法比较的是字符串的value是否相等。 请看String.java中equals的方法

public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            String anotherString = (String)anObject;
            int n = value.length;
            if (n == anotherString.value.length) {
                char v1[] = value;
                char v2[] = anotherString.value;
                int i = 0;
                while (n-- != 0) {
                    if (v1[i] != v2[i])
                        return false;
                    i++;
                }
                return true;
            }
        }
        return false;
    }

到此这篇关于Java Object类equals方法的文章就介绍到这了!

Java/Android 相关文章推荐
Java 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
Java常用函数式接口总结
Jun 29 Java/Android
用Java实现简单计算器功能
Jul 21 Java/Android
springboot中rabbitmq实现消息可靠性机制详解
Sep 25 Java/Android
Java8中接口的新特性使用指南
Nov 01 Java/Android
Springboot如何同时装配两个相同类型数据库
Nov 17 Java/Android
Java基于Dijkstra算法实现校园导游程序
Mar 17 Java/Android
使用HttpSessionListener监听器实战
Mar 17 Java/Android
Java字符串逆序方法详情
Mar 21 Java/Android
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Apr 08 Java/Android
Java 多线程并发FutureTask
Jun 28 Java/Android
Java Redisson多策略注解限流
Sep 23 Java/Android
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
Apr 13 #Java/Android
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
Apr 13 #Java/Android
Android开发之WECHAT微信小程序路由跳转的两种形式
Apr 12 #Java/Android
JavaWeb Servlet开发注册页面实例
Java中的继承、多态以及封装
JAVA长虹键法之建造者Builder模式实现
Apr 10 #Java/Android
SpringCloud项目如何解决log4j2漏洞
Apr 10 #Java/Android
You might like
Zerg剧情介绍
2020/03/14 星际争霸
php下过滤HTML代码的函数
2007/12/10 PHP
PHP 数据库树的遍历方法
2009/02/06 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
jquery validator 插件增加日期比较方法
2010/02/21 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
javascript简易画板开发
2020/04/12 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
施华洛世奇德国官网:SWAROVSKI德国
2017/02/01 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
如何实现一个自定义类的序列化
2012/05/22 面试题
工程造价专业大学生自荐信
2013/10/01 职场文书
求职简历自荐信范文
2013/10/21 职场文书
大专生自我评价
2014/01/28 职场文书
企业后勤岗位职责
2014/02/28 职场文书
大二学习计划书范文
2014/04/27 职场文书
车辆年检委托书范本
2014/10/14 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
python和Appium的移动端多设备自动化测试框架
2022/04/26 Python