`
老顽童
  • 浏览: 48244 次
  • 性别: Icon_minigender_1
  • 来自: 默认
社区版块
存档分类
最新评论

两个基本数据类型的数组比较问题

 
阅读更多

怎样判断两个byte数组的内容是否相同?
从问题来看,你是想比较两个基本类型数组里的所有元素是否相同。

这里首先要弄清楚,基本类型数组和基本类型数组中元素在java概念中的类型区别
基本类型数组的类型:在java中作为对象(Object),即byte[]是一个对象(要比较就要依次比较数组中每个数据是否相同)
基本类型数组中的元素的类型:还是基本类型。

接下来看,java对象的equals方法。
equals方法的调用,使用多态性。从具体类开始逐层调用类继承层次,直到找到equals方法的实现类。然后,调用该方法进行对象内容比较。这里的对象内容在具体类没有实现自己的equals方法时不能比较具体的内容,对象内容内容是否相等取决于super级的内容相等。如果所有super级类都没有实现equals进行自身具体内容的比较,最终调用顶级类Object的默认equals方法。该默认实现只比较类实例对象的内容地址(也就是前几楼说的引用)是否相等,这时候的比较是与==等效的。

所以问题中的t1.equals(t2)比较,因为基本类型数组没有具体的equals方法实现,最终调用了Object的equals方法,也就是只比较了t1和t2对象的内存地址,并没有比较两者的具体元素。而问题中的t1和t2的内存地址因为不是同一个new构造(这个不好描述),被分配了不同的内存地址,当然就比较结果就是false了。

分享到:
评论

相关推荐

    易语言数组比较模块

    在实际应用中,这可能用于数据验证、数据分析或寻找两个数据集的交集和并集等场景。 2. **比较数组不同_文本**:文本数组比较主要关注字符串的差异,可能是用于比较两个文本文件的内容、用户输入的文本数据或者查找...

    易语言自定义数据类型数组排序

    但要注意,对于自定义数据类型数组,你需要提供一个比较函数,该函数用于比较两个自定义数据类型的值。比较函数通常包含两部分:比较规则和比较逻辑。 比较规则定义了排序的依据,如按照年龄、姓名或成绩排序。比较...

    Java期末复习资料_第2章_基本数据类型与数组.pdf

    Java是一种广泛使用的编程语言,其数据类型系统中包含基本数据类型和引用类型两大类。基本数据类型变量存储的是数据本身,而引用类型变量存储的是指向数据的空间地址。本资料针对Java期末复习,深入讲解了基本数据...

    JS合并两个数组的3种方法详解

    这篇文章主要介绍了JS合并两个数组的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...这里有一个问题,concat方法连接a、b两个数组后,a、b两个数组的数据不变,同时会返

    易语言自定义数据类型数组排序.7z

    对自定义数据类型数组进行排序时,我们需要根据需要排序的字段编写相应的比较函数。例如,如果我们想要根据学生的成绩进行降序排序,就需要编写一个比较函数,比较两个结构体实例的“成绩”字段,并返回适当的比较...

    易语言自定义数据类型数组排序源码

    本篇将深入探讨易语言自定义数据类型数组的排序源码,帮助你理解其工作原理并提升编程技能。 自定义数据类型(Custom Data Type)允许程序员根据实际需求定义新的数据结构。在易语言中,你可以通过组合基础数据类型...

    java基本数据类型与数组

    Java 基本数据类型与数组 Java 中的基本数据类型是指在 Java 中可以使用的最基本的数据类型,包括布尔型、字符型、整数型、浮点型等八种基本数据类型。这些基本数据类型是 Java 语言的基础,理解它们对于学习 Java ...

    C# 将两个整型数组的元素相加

    根据给定的文件信息,我们将深入探讨如何在C#中实现两个整型数组元素的相加操作,并且会对相关的概念和技术细节进行详细说明。 ### C#中的数组与基本操作 在C#中,数组是一种非常基础的数据结构,用于存储固定大小...

    js判断两个数组是否完全相同

    在JavaScript的世界里,数组的比较是一个相对复杂的话题,涉及到数据类型、引用、值比较等多个方面。通过理解这些基本原理和方法,我们可以更好地处理各种数组比较的场景。希望以上内容对大家有所帮助,同时也鼓励...

    将两数组合并成一个数组并排序

    数据类型 数组名[数组长度]; ``` 例如,如果我们想创建一个整型数组,可以声明为: ```c int arr[10]; ``` 接着,是排序。排序是指按照特定顺序(如升序或降序)排列数组中的元素。在C语言中,我们可以使用各种...

    java数组 类型

    Java 数组类型是 Java 语言中的一种基本数据类型,用于存储多个相同类型的值。 Java 数组类型可以分为基本类型数组和非基本类型数组两种。 一、基本类型数组 基本类型数组是由基本类型变量组成的数组,例如 int[]...

    Android中的JNI数组操作教程

    * GetPrimitiveArrayCritical / ReleasePrimitiveArrayCritical:返回一个指定基础数据类型数组的直接指针,在这两个操作之间不能做任何阻塞的操作 示例代码 在 Java 中传递数组到 Native 进行数组求和: ```java ...

    易语言自定义数据类型数组排序-易语言

    在提供的"易语言自定义数据类型数组排序.e"文件中,很可能包含了具体的示例代码,通过学习这个源码,你可以更直观地了解如何在易语言中实现自定义数据类型的数组排序。实践中,你可以根据具体需求选择合适的排序算法...

    两个二维数组相加,用成员函数重载运算符“+”和“-”

    ### 两个二维数组相加与相减:使用成员函数重载运算符“+”和“-” 在C++中,运算符重载是一种强大的特性,它允许程序员改变内置运算符的行为,使其适用于自定义类型(如类或结构)。本文将详细介绍如何通过成员...

    数组与数组相加的源程序(VB6.0源代码编写),给出两个数组,程序把两个数组加在一起。

    在VB6.0编程环境中,数组是存储一系列相同数据类型元素的数据结构。数组与数组的相加是一项常见的操作,尤其在处理数学问题、数据分析或算法实现时。本篇将详细探讨如何利用VB6.0来编写一个源程序,实现两个数组的...

    搜索两个数组中相同的部分,并建立一个新数组

    当处理数据集合时,经常会遇到需要比较两个数组并找出它们之间共同元素的需求。这种需求在各种应用场景中十分常见,例如数据分析、数据库操作、算法优化等。本文将深入探讨如何搜索两个数组中相同的部分,并基于这些...

    Java大学实用教程 实验二 基本数据类型和数组 实验报告

    这个实验旨在帮助学生深入理解Java编程语言中的基础元素,包括基本数据类型的使用以及数组的处理。以下是根据实验内容展开的知识点详解: 1. **基本数据类型**:Java中有八种基本数据类型,包括两种整型(byte, ...

    数据结构数组的实验报告

    数据结构中的数组是一种基本且重要的数据组织形式,它在计算机科学中扮演着核心角色。数组是一种线性数据结构,其中的元素按照特定的顺序存储,每个元素都可以通过一个唯一的索引来访问。数组的索引通常从0开始,但...

    两个数组合并排序

    数组是一种基本的数据结构,用于存储具有相同类型元素的集合。在数组中,每个元素可以通过索引(通常是整数)来访问,这使得对元素的操作非常快速和高效。 #### 合并(Merge) 数组的合并是指将两个或多个数组的元素...

Global site tag (gtag.js) - Google Analytics