对于Arrays的deep相关的方法。
关于: deepEquals
Arrays.equals(Object[] o1, Object[] o2):当是判断数组是引用类型数组的时候,从以下条件判断:
1、o1与o2指向同一个数组实例时,返回true
2、在o1,o2都不为空,且长度相等,而且同角标元素同为空,或者equals相等时,返回true
Arrays.equals(int[] o1, int[] o2):当判断数组是基本类型数组时,以下条件判断:
1、o1与o2指向同一个数组实例时,返回true
2、在o1与o2都不为空,且长度相等,而且同角标元素相等(数据类型不同相等方法判断不同)。
Arrays.deepEquals (Object[] o1, Object[] o2): 判断条件:
1、o1与o2指向同一个数组实例时,返回true
2、在o1,o2都不为空,且长度相等,而且同角标元素都补同为空时,进行以下判断:
当元素为基本数据类型的数组的时候,
有 Arrays.equals(Object[] e1, Object[] e2)返回为true,则为true。
当元素为引用数据类型的数组的时候,
有Arrays.deepEquals (Object[] e1, Object[] e2)返回为true,则为true。
当元素为其他类型的时候,
有 e1.equals(e2)为true,则为ture。
关于:deepHashCode(Object a[])
Arrays.hashCode(Object a[]) :
从 result = 1;
然后从第一个元素进行 result = 31 * result + element.HashCode(); 进行循环计算。
Arrays.deepHashCode(Object a[]):
从 result = 1;
然后从第一个元素进行 result = 31 * result + elementHash; 进行循环计算。
elementHash : 就是下一级元素计算出来的。
当element为 引用数据类型数组时,elementHash使用 Arrays.deepHashCode(Object a[])计算。
当element为 基本数据类型数组时,elementHash使用 Arrays.hashCode(Object a[])计算。
当element为 非数组时,elementHash使用 element.hashCode()计算。
关于:deepToString(Object [] 0)
例子:
String [][]s ={{"s","ss"},{"t"}};
sop(Arrays.deepToString(s)); //[[s, ss], [t]]
sop(Arrays.deepToString(s[0])); //[s, ss]
Integer [][]i ={{2,34,6,7,1},{2,3,5,2,0}};
sop(Arrays.deepToString(i)); //打印结果:[[2, 34, 6, 7, 1], [2, 3, 5, 2, 0]]
sop(Arrays.deepToString(i[0])); //打印结果:[2, 34, 6, 7, 1]
对于Arrays的deep相关的方法。的更多相关文章
- Android View各种尺寸位置相关的方法探究
Android View各种尺寸位置相关的方法探究 本来想做一个View间的碰撞检测之类的. 动手做了才发现不是想象的那么简单. 首先,写好了碰撞检测的工具类如下: package com.mengd ...
- Dynamic CRM 2013学习笔记(二十三)CRM JS智能提示(CRM 相关的方法、属性以及页面字段),及发布前调试
我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js: 另外,我们 ...
- jsp:和属性相关的方法,请求的转发,重定向
jsp中与属性相关的方法: 方法: void setAttribute(String name, Object o): 设置属性 Object getAttribute(String name):获取 ...
- Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...
- Android音频焦点处理相关的方法
有这么一种场景:你打开qq音乐.优酷客户端.视频播放的时候.这个时候突然来电显示了,此时所有的MediaPlayer相关的服务或者响应都进入"休眠"状态.那么,这个功能是怎么实现的 ...
- Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法
本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...
- jquery checkbox相关 prop方法
jquery checkbox相关 prop方法 firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因复选框绑定了click事件 ...
- Spider Studio 新版本 (20140225) - 设置菜单调整 / 提供JQueryContext布局相关的方法
这是年后的第一个新版本, 包含如下: 1. 先前去掉的浏览器设置功能又回来了! 说来惭愧, 去掉了这两个功能之后发现浏览经常会被JS错误打断, 很不方便, 于是乎又把它们给找回来了. :) 2. 为J ...
- iOS文件路径相关的方法
文件路径相关的方法在NSPathUtilities中,主要是操作路径 获得一个路径 NSString *documents = [NSSearchPathForDirectoriesInDomains ...
随机推荐
- C# 将当前应用程序写入到注册表开机启动项中
在使用C#进行应用程序的开发过程中,经常有一个需求就是让应用程序开机后自动启动,这个是一个很常见的需求,最常规的做法(这里以Win7操作系统为例),打开:开始=>所有程序=>启动文件夹(路 ...
- 老男孩python学习自修第六天【pycharm的使用】
1.在工程右键可选新建文件夹,包盒python文件 文件夹和包的区别在于,包包含一个空的__init__.py文件,而文件夹没有 2.pycharm的断点调试 点击Debug表示进入调试状态 点击Re ...
- b2b
sku(Stock Keeping Unit)(件)最小库存量单位. spu(一款) 一种详细的规格参数有时候跟spu,规格参数加上颜色+尺寸什么的唯一确定了一个手机,对应的就是sku spu:一款产 ...
- Supervisord管理进程实践
今天凑空研究了下Supervisord,这是一款linux进程管理工具,使用python开发,主要用于在后台维护进程(类似master守护进程),可以实现监控进程的状态.自动重启进程等操作,便于一些服 ...
- Vivado安装、生成bit文件及烧录FPGA的简要流程
https://wenku.baidu.com/view/0294cbb3bb4cf7ec4bfed01a.html
- 洛谷 P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节. 由于牛棚不太大,FJ通过指定奶牛必须遵 ...
- css背景色 透明字体不透明
.demo{ padding: 25px; background-color: rgba(,,,0.5);/* IE9.标准浏览器.IE6和部分IE7内核的浏览器(如QQ浏览器)会读懂 */ }
- 前端es6基础语法
1.let.const.var var是声明全局的变量,作用域是全局,const是声明全局的常量,不能修改,而let是块级变量只在当前声明的作用域中生效: { var a = 10; let b = ...
- 目前市场上有些什么样的数据库管理系统(DBMS),它们都有什么特点?它们之间的优缺点有什么?它们的使用场合分别是?
1 要求 目前市场上有些什么样的数据库管理系统(DBMS),它们都有什么特点?它们之间的优缺点有什么?它们的使用场合分别是? 1.1 目前市场上有些什么样的数据库管理系统(DBMS) 目前市场上的数据 ...
- C# int数组转string字符串
方式一:通过循环数组拼接的方式: int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Empty ...