首页 > 其他分享 >equals方法

equals方法

时间:2024-08-07 22:27:44浏览次数:12  
标签:String d2 Object System equals Demo2 方法

/*
    Object类中成员方法:
        public boolean equals(Object obj)
        protected void finalize() 是做垃圾回收的,不是立刻就做回收
            面试题:final  finally  finalize 区别?
        protected Object clone()


    知识点:
        1、==比较,如果比较的基本数据类型,直接比较具体的数值是否相等,若比较的是引用数据类型,比较的是地址值是否一样
        2、Object类中的equals方法默认直接使用==比较两个对象,若地址值不一样,就是false
 */
class Demo2 extends Object {
    int a;

    @Override
    public String toString() {
        return "Demo2{" +
                "a=" + a +
                '}';
    }


    @Override
    public boolean equals(Object o) { // d1.equals(d2)
        /*
            o -- d2
            this -- d1
         */
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Demo2 demo2 = (Demo2) o;
        return this.a == demo2.a;
    }
}

public class ObjectDemo2 {
    public static void main(String[] args) {
        //创建第一个Demo2对象
        Demo2 d1 = new Demo2();
        d1.a = 100;
        System.out.println(d1);

        //创建第二个Demo2对象
        Demo2 d2 = new Demo2();
        d2.a = 100;
        System.out.println(d2);

        // Object中的equals方法默认比较的是地址值
        System.out.println(d1.equals(d2)); // false ; 类重写equals方法后,比较的就是成员变量值:true
        String s1 = new String("hello"); // 堆内存中
        String s2 = "hello"; // 方法区中的常量池中
        System.out.println(s1 == s2); // false
        System.out.println(s1.equals(s2)); // true 说明String类中重写equals方法,比较的是内容
        System.out.println(s1); // hello 说明String类中重写toString方法,获取对象中的内容


    }
}

标签:String,d2,Object,System,equals,Demo2,方法
From: https://www.cnblogs.com/qiwei-bigdata/p/18347985

相关文章

  • 不平衡学习的自适应合成采样方法ADASYN(Matlab代码实现)
     ......
  • 【数值计算方法】线性方程组的迭代解法-数值实验
    fromformu_libimport*importnumpyasnpA=np.array([[-55,-5,12],[21,36,-13],[24,7,47]])b=np.array([41,52,12])w=lambdat:0.1*txs,ys,ts=[],[],[]foriinrange(1,20):_,err=SORIter(A,b,w(i))xs.append(list(......
  • 大语言模型评测方法全面总结!
    自2017年Transformer模型提出以来,自然语言处理研究逐步转向基于该框架的预训练模型,如BERT、GPT、BART和T5等。这些预训练模型与下游任务适配后,持续刷新最优结果。然而,现有评测方法存在广度和深度不足、数据偏差、忽视模型其他能力或属性评估等问题。因此,需要全面评测和深入......
  • Java--构造器和构造方法
    目录构造方法注意事项一个类里面写了构造器,手动添加参数,若没有构造器直接运行构造方法是一种特殊的方法,为了创建对象功能:完成对象数据的初始化而带参构造的本质是创建对象的同时,趁机完成赋值修饰符class类名{public方法名(与类名一致)(参数){}}注意事项1.如果没有定义......
  • 《彩虹六号:围攻》游戏闪退弹窗“缺失vulkan-1.dll”错误怎么解决?彩虹六号围攻找不到v
    在《彩虹六号围攻》遇到找不到vulkan-1.dll的情况时,可采取以下修复方法。可重新安装显卡驱动,检查游戏文件完整性,从正规渠道下载vulkan-1.dll文件并放置到正确位置,或使用dll修复工具来尝试解决这一问题。本篇将为大家带来彩虹六号围攻找不到vulkan-1.dll修复方法的内容,感兴趣的......
  • 《双人成行》游戏闪退弹窗“找不到anadius64.dll无法继续执行”问题怎么修复?双人成行
    当玩《双人成行》出现游戏崩溃并提示缺失anadius64.dll文件时,可以这样解决。首先去可靠的网站下载该文件并放置到指定位置,或者使用修复工具进行修复,也可以检查系统更新,确保系统环境正常,从而解决这一问题。本篇将为大家带来双人成行游戏崩溃缺失anadius64.dll文件解决方法的内容......
  • 《剑灵》游戏崩溃弹窗“错误126:未找到dll”怎么处理?剑灵游戏闪退提示错误126未找到dll
    在《剑灵》中遇到游戏崩溃弹窗显示“错误126:未找到dll”时,可尝试这样解决。先检查游戏文件完整性,确保相关动态链接库文件未缺失,然后更新驱动程序,清理电脑垃圾,若还不行,可考虑重新安装游戏来解决这一问题。本篇将为大家带来《剑灵》游戏崩溃弹窗“错误126:未找到dll”解决方法的内......
  • error C2220 万能解决方法
    如果在VisualStudio2022中没有找到将“警告视为错误”的选项,可以通过修改项目文件(.vcxproj)直接进行配置。以下是具体的步骤:1.修改项目文件(.vcxproj)打开项目所在的文件夹,找到.vcxproj文件。用文本编辑器(如Notepad++、VSCode等)打开这个文件。找到或添加<TreatWarningAsE......
  • 2分析方法
    2分析方法常用的分析方法逻辑树分析方法——将复杂问题变简单——费米问题PEST分析方法——行业分析——研究中国少儿编程行业P政治(politics)E经济(economy)S社会(society)T技术(technology)多维度拆解分析——多角度看待问题——相亲对象对比分析方法——对比分析——问朋友自己......
  • 深度解读《TOGAF®架构开发方法》在数字化转型中的应用
    《TOGAF®架构开发方法》由全球知名的TheOpenGroup编写,是企业架构开发的权威指南。它不仅提供了一套系统化的理论框架,还为企业架构师和信息技术管理者提供了从理论到实践的详细路径,帮助他们在数字化转型过程中取得成功。本文将从理论到实践的视角,深入解读这本书的核心内容,探......