equals 方法 Java 核心技术卷一

图片说明

所有的问题都在图片中,求解答

0

7个回答

对于两个对象是否“相等”, 我们有两种比较。
1>this==otherobject
如果两个对象用“==”来比较,那就是比较对象的引用(引用呢,就是存放在栈区的一个变量。它的值就是对象的地址。而对象真正是放在堆区的,你要使用它就找它的引用就好啦(也就是那一串地址))
每一个new出来对象都分配不同的堆空间,所以引用就不一样。
反之用“==”来比较,就是比较这两个对象在堆空间是不是一个地址。如果一样,那肯定是一样喽
2>就是这个equals()方法用来比较具体的对象的属性。因为两个地址不同的对象,虽然地址不同 但是可能属性一样,

0
Pfeffer
Pfeffer 请您看一下我在评论中插入的图片。
接近 2 年之前 回复

你好,从你提的问题可以看出你应该刚学java没多久,其实这很好理解。
分别解答你的3个问题:
1、getclass() 调用和你想的一样,是省略了this,方法调用时不写默认是调用本身对象的方法。
2、equals 是判断两个对象是否相等。而不是判断地址是否相等。
3、this==otherobject 这个才是比较引用的地址;
otherObject == null 判断是为了下一步调用otherObject 对象,不出现空指针异常。
比较class是否相同时为了下面的强制转换类型
希望采纳。

1
Pfeffer
Pfeffer 请您看一下我在评论中插入的图片。
接近 2 年之前 回复
Pfeffer
Pfeffer 对于您的第一个回答,书上说equals比较的是引用,我的问题中还问了,为什么要比较他们各自的类是否相等呢? 您并没有回答完的我的问题
接近 2 年之前 回复

1.getClass()调用的是当前对象的getClass()方法,getClass为非静态方法,而equals()方法也是非静态的,皆为当前对象所调用
2.此时比较的是OtherObject与当前对象
使用时为

Object o = new Object(1);
Object other = new Object(2);

o.equals(other);

3.先比较两者的地址,地址相同则两对象必然相同,
再看otherObject是否为空,若为空,则两对象必然不同
最后看两者是否为同一类,若所属类不同则两对象不同

0

我对于 前面三个if存在的意义完全不理解

0

图片说明 这个图片中的内容就是告诉我们equals 比较的实际上是引用

0
kbc_kbc
kbc_kbc 我上面说的第二条就是指你重写的那个,不是指Object的。不好意思我以为你懂,就没详细说
接近 2 年之前 回复
kbc_kbc
kbc_kbc 或者说只比较引用,如果不相等只能说两个对象在内存存放位置不同,但是不能比较内容,实际上我们更关注对象的内容
接近 2 年之前 回复
kbc_kbc
kbc_kbc 问题是你觉得比较两个对象的地址是你想要的么?你是想比较对象里面的属性吧 比如name,adds,等等实际的有价值属性。那么你在自己的员工类里面就要重写父类的equals方法。你看书上也是这么做的
接近 2 年之前 回复
kbc_kbc
kbc_kbc 回复kbc_kbc: 用员工对象调用equals()方法,那你的程序会首先查你的员工类有没有重写equals方法,如果没有就去父类查,查到Object类就直接比较引用了
接近 2 年之前 回复
kbc_kbc
kbc_kbc 哈哈哈 好的 他没说错。但是你也看到了 这是object类,它确实就是比较引用,但是你自己定义的员工类默认继承它,一旦你用员工对象调用
接近 2 年之前 回复

难道你不满意我的回答啊,怎么不采纳呢?

0

首先看下Object类的equals源码:

  • @param obj the reference object with which to compare.
    • @return {@code true} if this object is the same as the obj
    • argument; {@code false} otherwise.
    • @see #hashCode()
    • @see java.util.HashMap */ public boolean equals(Object obj) { return (this == obj); } 源码中就是用的==,而==只是比较栈内存中的内容,而栈内存中记录的就对象的引用 这是对图片的说明。 而现在我们需要比较的雇员是相同,而且有要求。那么我们应该从以下开启入手: 1、首先2个对象的引用地址是否相同,如果地址相同那么内容一定相同,这就是第一个if 2、验证下被比较者是否为null,为null直接出结果。而当前对象为null的话,直接空指针异常,这是第二个if 3、其次我们需要比较以下当前比较的2个对象的数据类型是否相同,所以使用个Class进行比较这就是第三个if 4、前面三个都验证了,再比较具体的内容是否相同 望采纳,有不明白的可以再交流
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
学习java核心技术卷的一些疑问(一)
无意中发现,把一个类对象强制转化为父类对象之后,原来的子类对象和之后的父类对象,两者具有相同的引用,都能对该对象进行对应的操作。代码如下:nn我实例化了一个子类对象,创建了一个为空的父类对象,然后把该子类对象强制转换为父类对象,最后当我调用父类中用于提升员工工资的方法时发现两个对象的工资都改变了,那么这时子类对象和父类对象指向了相同的引用吗,所以我使用了如下的类进行了测试nn父类:nnnpubli...
java核心技术(卷一、二)两本全
本资源共包括Java核心技术 卷1 基础知识 原书第9版、Java核心技术(卷2):高级特性(原书第9版)两本
《Java核心技术》卷1——学习笔记(1)
第三章的基本语法nn1、类名命名规范为骆驼命名法,即首字母大写。nn2、源代码为.java文件,编译后字节码文件为.class。控制台先用javac name.java命令编译源文件,然后用java name运行编译后的字节码文件。nn3、三种注释方法:nnn//第一种nn/* 第二种 */nn/**nn第三种nn*/nn第三种可以用来自动生成文档。nn/* */注释不能嵌套,也就是说,不能简单地...
java核心技术卷一(10th)笔记
三、基本程序设计   Char能否表示中文字符:一些BMP(基本多语言级别)可以,char描述了用UTF16编码表示unicode的一个代码单元(unicode、UTF16)0.125=2^-3可以表示成8x1.0p-3整数除0异常,浮点数NaNStrictfp:使用严格浮点运算来生产可再生的运算结果>>>:0填充高位,>>符号位填充高位空字符串是一个对象,Strin...
java核心技术卷1中文版(第10版)
作者Cay S.Horstmann是圣何塞州立大学计算机科学系教授。他曾经是Preview Systems公司的副总裁和首席技术官,曾任许多大型公司,大学知组织的C++、Java与因特网编程顾问。他还撰写了众多技术和学术专著,并参与编写《Core JavaServer Faces》一书。
《Java核心技术 卷一 》第十版 PDF
《Java核心技术 卷一 》出自于机械工业出版社,PDF字迹清晰,并有完整标签,需要的小伙伴不要错过。
java核心技术,卷一,卷二,pdf电子书
java核心技术,卷1,卷2, 电子书,中文。。。。。。。
《java核心技术 卷1》 源码
Java核心技术 卷1的源码,跟书本配套,完整的源码,可供学习使用
JAVA核心技术 卷1 第9版 中文完整版
Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第10版根据Java SE 8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核 心概念、语法、重要特性和开发方法,包含大量案例,实践性强。 一直以来,《Java核心技术》都被认为是面向高级程序员的经典教程和参考书,它内容翔实、客观准确,不拖泥带水,是想为实际应用编写健壮Java代码的程序员的首选。如今,本版进行了全面更新, 以反映近年来人们翘首以待、变革最大的Java版本(Java SE 8)的内容。这一版经过重写,并重新组织,全面阐释了新的Java SE 8特性、惯用法和*佳实践,其中包含数百个示例程序,所有这些代码都经过精心设计,不仅易于理解,也很容易实际应用。 本书为专业程序员解决实际问题而写,可以帮助你深入了解Java语言和库。在卷I中,Horstmann主要强调基本语言概念和现代用户界面编程基础,深入介绍了从Java面向对象编程到泛型、集合、lambda表达式、Swing UI设计以及并发和函数式编程的*新方法等内容
Java核心技术(卷1)
Java核心技术卷(卷1)是Java对应的入门数据和可靠的工具书籍之一。
java核心技术 卷一
java核心技术卷1,高清扫描版pdf,周立新,陈波,叶乃文
Java核心技术卷1基础知识课程-专题视频课程
Java核心技术卷1基础知识课程—2人已学习n课程介绍    n    Java核心技术入门视频培训课程:该教程系统全面讲解Java语言的核心概念,语法,重要特性和开发方法,讲解Java开发工具跟编程思想、用Java开发具体的系统程序,让学员可以轻轻松松学习Java。n课程收益n    1. 系统学习Javan    2. 掌握Java特性n    3. 掌握Java开发工具和编程思想n    4...
Java核心技术 卷1 源代码
Java核心技术 卷I:基础知识(原书第10版)源代码总共12章
java核心技术卷1 mobi
java核心技术卷1 mobi Core+Java, +Volume+I--Fundamentals.mobi
java核心技术卷——学习笔记(一)
一 Java程序设计概述nn1)Java语言的特性nn1. 简单性nnJava语法是c++的一个纯净版本,这里没有头文件,指针运算(指针语法),结构,联合,操作符重载,虚基类。然而,设计者并未完全清除C++中所有不适当的特性,C++有很多语法可以轻易转移到Java中。nn2. 面向对象nn面向对象设计是一种程序设计技术,他将重点放在数据(即对象上)和对象的接口上,比如,木匠首先关心的是制作的椅子,...
java核心技术卷一第十版(中文版高清带书签)
Java核心技术卷1第十版中文(文件过大所以压缩)。本书共14章.第1章概述Java语言与其他程序设计语言不同的性能:第2章讲解如何下载和安装JDK及本书的程序示例:第3章介绍变量、循环和简单的函数:第4章讲解类和封装;第S章介绍继承:第6章解释接口和内部类:第7章讨论异常处理,并给出大量实用的调试技巧:第8章概要介绍泛型程序设计:第9 章讨论Java平台的集合框架;第10
Java核心技术 卷1 知识点总结
1.类与类之间的关系rn依赖:use-arn聚合:has-arn继承:is-arn2.java对象构造与初始化rnnew Date();rn//构造器构造了一个新对象。这个对象初始化为当前的日期和时间。rn如果仅适用一次该对象,可以不将其放在一个变量中,比如:rnSystem.out.println(new Date());rnString s=new Date().toString();rn通常
Java核心技术卷一基础知识第10版 PDF文件
下载链接: https://pan.baidu.com/s/1qJEav4jgYoAVEy-Ne0OeDQnn密码:4mka
JAVA核心技术(卷1):基础知识 第 十 版 中文版 高清
《JAVA核心技术(卷1):基础知识(原书第10版)》是《Java核心技术》的最新版,《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了的部分内容,以便适应Java的最新特性,本版适应了最新Java SE 8
java核心技术卷1-核心技术{原书第十版}++全部代码
Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第10版根据Java SE 8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核 心概念、语法、重要特性和开发方法,包含大量案例,实践性强。 一直以来,《Java核心技术》都被认为是面向高级程序员的经典教程和参考书,它内容翔实、客观准确,不拖泥带水,是想为实际应用编写健壮Java代码的程序员的首选。如今,本版进行了全面更新, 以反映近年来人们翘首以待、变革最大的Java版本(Java SE 8)的内容。这一版经过重写,并重新组织,全面阐释了新的Java SE 8特性、惯用法和*佳实践,其中包含数百个示例程序,所有这些代码都经过精心设计,不仅易于理解,也很容易实际应用。 本书为专业程序员解决实际问题而写,可以帮助你深入了解Java语言和库。在卷I中,Horstmann主要强调基本语言概念和现代用户界面编程基础,深入介绍了从Java面向对象编程到泛型、集合、lambda表达式、Swing UI设计以及并发和函数式编程的*新方法等内容。
java核心技术(卷1)原书第十版 高清版
本书为专业程序员解决实际问题而写,可以帮助你深入了解Java语言和库。在卷I中,Horstmann主要强调基本语言概念和现代用户界面编程基础,深入介绍了从Java面向对象编程到泛型、集合、lambda表达式、Swing UI设计以及并发和函数式编程的新方法等内容。
Java核心技术卷1完整中文电子版
Java核心技术卷1中文版第十版,资源属于电子扫描后OCR所生成的文档,内容清晰,资源完整,除了文件稍大之外并无缺陷,适合程序员用来提升自己,初学者难度会较大,不过积分也不多,下载来看看划算的很。
Java核心技术(卷1) 10th 总结(兼与Java编程思想等对比)
总结  前一段时间把《核心卷》的卷一看完了,后来又看完了《图解TCP/IP》,月初考了一个证券从业证书,还有实验室的事情,实在是很忙。眼瞅着到月底了,还是抽出时间做个总结。关于Java基础的书,前后看的有四本,包括《Thinking in Java》,《Head First Java》,《Java核心卷》卷一和《Java开发实战经典》(国人写的)。个人感觉,好的书真的是各有各的特点,不好的书只是内容
java核心技术卷一(第10版)高清中文版 -带书签
java核心技术卷一(第10版)高清中文版 -带书签,高清中文版,第10版,清晰度绝对可以!内容超过100,内含有百度云链接和密码,永久有效!
java核心技术卷1 第10版中文pdf,百度网盘下载
java核心技术卷1 第10版中文pdf,带有目录,非扫描版。
Java核心技术_卷1_第十版
基础知识部分介绍很详细,几乎无死角,内容跟得上时代,但正因为这样,有些地方实在难以理解;各章节间耦合性较低,知识没有问题,但逻辑安排似乎有点儿问题,不懂作者为何这样安排;书中很多地方与C、C++、C#、VB等语言做对比(尤其C++),对于那些对其他语言不感兴趣的人来说,占用书籍的空间有些大;缺少习题支持,案例有些单一。这么多版本了,很多例子一直没变;
Java核心技术卷1基础知识原书第10版.pdf+代码
Java核心技术卷一:基础知识(原书第10版)是java领域最有影响力和价值的著作之一,由美国圣何塞州立大学计算机科学系教授凯.霍斯特曼编著。本书内容翔实、客观准确,不拖泥带水,根据Java SE 8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核心概念、语法、重要特性和开发方法,其中包含数百个示例程序,所有这些代码都经过精心设计,不仅易于理解,也很容易实际应用,是学习java最好的图书。
读书笔记——《Java核心技术卷一》——泛型(一)
一、泛型类nn一个泛型类就是具有一个或多个类型变量的类。例子:nnnpublic class Pair<T>n{n public Pair(){n first = null; second = null;n }n public Pair(T first, T second){n this.first = first;n thi...
《Java 核心技术 卷1 第九版 》读书笔记
本文的主要目的:rn将java日常使用中,没有注意到的或者模糊的点进行记录。形成文档rn3.6字符串rn三种字符串为空的区别rnrnString m=""rn有空间,有值rn分配了储存空间 但是值为空字符串,rnString m=nullrn没空间,没值rnString m=new String()rn有空间 ,没值rnrn再来看 以下这两个判空的函数rnStringUtils.isEmpty(String str) 和...
Java核心技术《卷一》PDF
Java核心技术《卷一》PDF 很不错的一本Java教材,有兴趣的可以下载学习。
java核心技术卷1高清免费.pdf 免费下载
n n n 下载地址: java核心技术卷1高清免费.pdfnnn n nn
java核心技术卷一第十版中文版
java经典书籍,不用多介绍。java核心技术卷一第十版中文版(网盘链接),真实有效,如果链接失效请私信我。
java核心技术卷一和卷二书中示例源码完整版
java核心技术卷一和卷二书中示例源码完整版 另外,书中已知的BUG的列表地址:http://horstmann.com/corejava/bugs.html#CJ10V1
Java核心技术(卷1+卷2)(原书第9版)
《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能;第2章讲解了如何下载和安装JDK及本书的程序示例;第3章介绍了变量、循环和简单的函数;第4章讲解了类和封装;第5章介绍了继承;第6章解释了接口和内部类;第7章概述了图形用户界面程序设计知识;第8章讨论AWT的事件模型;第9章探讨了SwingGUI工具箱;第10章讲解如何部署自己的应用程序或applet;第11章讨论异常处理;第12章概要介绍泛型程序设计;第13章讲解Java平台的集合框架;第14章介绍了多线程。本书最后还有一个附录,其中列出了Java语言的保留字。 《Java核心技术(卷2):高级特性(原书第9版)》本书中文简体字版由Pearson Education(培生教育出版集团)授权机械工业出版社在中华人民共和国境内(不包括中国台湾地区和中国香港、澳门特别行政区)出版发行。未经出版者书面许可,不得以任何方式抄袭、复制或节录本书中的任何部分。 本书封底贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。   Java领域有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第9版根据Java SE 7全面更新,同时修正了第8版中的不足,系统全面讲解Java语言的核心概念、语法、重要特性和开发方法。本书全面覆盖Java技术的高级主题,包括流与文件、XML、网络、数据库编程、国际化等,详细描述了图形与GUI编程,还涉及安全、远程方法、注解处理、本地方法等。本书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例代码,能够帮助读者充分理解Java语言并灵活应用。
java核心技术卷1
java核心技术卷1,基础知识,可以看看,还可以吧,这么多字了
《java核心技术 卷1 基础知识 原书第8版》百度网盘链接
《java核心技术 卷1 基础知识 原书第8版》百度网盘链接:nn链接:https://pan.baidu.com/s/1kAg_GVmaBApzyDNl2p89-w 密码:jv8t
java核心技术卷一 读书笔记
第三章 java基本程序设计结构n3.6字符串n1 提取子串substring方法:   s.substring(a,b)  第一个参数为开始复制的位置,第二个参数为不想复制的第一个参数n2 拼接nnnn   允许使用+号字符串与非字符串进行拼接,后者被拼接为字符串n3
Java核心技术卷1,2 读书笔记一
Java核心技术卷1,2 读书笔记一
Java核心技术卷 高清完整版 最新第十版
 Java领域*有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第10版根据Java SE 8全面更新,同时修正了第9版中的不足,系统全面讲解了Java语言的核心概念、语法、重要特性和开发方法,包含大量案例,实践性强。   本书共14章。第1章概述Java语言与其他程序设计语言不同的性能;第2章讲解如何下载和安装JDK及本书的程序示例;第3章介绍变量、循环和简单的函数;第4章讲解类和封装;第5章介绍继承;第6章解释接口和内部类;第7章讨论异常处理,并给出大量实用的调试技巧;第8章概要介绍泛型程序设计;第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第12章详细讨论Swing GUI工具包;第13章介绍如何将程序部署为应用或applet;第14章讨论并发。本书最后还有一个附录,其中列出了Java语言的保留字。
Java核心技术(卷一)基础知识第10版 PDF版
Java核心技术(卷一)基础知识第10版 PDF版 10大Java经典书籍之一
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java卷一学习笔记 java 学习的核心技术