关注对象公共方法

简介:

hashcode

默认对象在内存中的存储地址
用来配合hashSet 等集合框架,put的时候,快速判断不存在用的,hashcode一样再比equal。(小心:equal一样的对象一定要有一样的hashcode,可以使用equal中的相关属性的hashcode,否则hashMap分分钟给你空指针)

equal

比一样的值的。比如你和我一样是P6,但是你的P6是你的P6,不是一个,但是值是一样的。
复用集合时重要方法,覆盖equal时一定要覆盖hashcode不然集合框架就不工作了。

==

比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。

toString

默认返回 类+hashcode。一定要覆盖toString,反馈对象的属性,他只在调试和日志中其诊断作用,反馈更多的内容,方便api使用者诊断问题。在单元测试中也起重要作用!

  public String toString() {
        return MoreObjects.toStringHelper(this).omitNullValues()
                .add("name", name)
                .add("sex", sex)
                .toString();
    }

clone

忽略这个方法,自己在外部自己写 T copy(T)的逻辑来替代clone。这个clone方法危险,分分钟出故障

comparable

考虑实现comparable接口,他的compareTo方法,还有大小关系,是eqaul的很好的补充

目录
相关文章
|
12月前
|
C# 开发工具 数据库
一个比较全面的C#公共帮助类
一个比较全面的C#公共帮助类
93 0
|
6月前
|
存储 Java
|
Java 编译器
类 对象 封装
类 对象 封装
75 0
|
弹性计算 JavaScript 开发工具
对象和接口-1:对象类型
本实验将介绍TypeScript中的对象类的基本语法
|
设计模式
单子设计模式 (对创建初始对象为静态,构造函数私有,返回值为对象的创建函数,private应用)
单子设计模式 (对创建初始对象为静态,构造函数私有,返回值为对象的创建函数,private应用)
单子设计模式 (对创建初始对象为静态,构造函数私有,返回值为对象的创建函数,private应用)
|
小程序 前端开发 数据库
小程序__01--后端返回类型是一个object具体类,前端小程序如何提取类中的私有变量
后端返回类型是一个object具体类,前端小程序如何提取类中的私有变量
|
开发者 Python
公共方法总结| 学习笔记
快速学习公共方法总结
|
存储 JavaScript 前端开发
访问对象的属性,你知道有哪些方法?
相信对象对于每个使用JavaScript的人来说都不陌生。访问对象的属性几乎日常开发每天都在用。下面我们一起探索下有哪些方式可以实现属性的访问。
189 0
|
C# 开发工具
[C#]如何访问及调用类中私有成员及方法
原文:[C#]如何访问及调用类中私有成员及方法 本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢! 开发工具:VS2017 语言:C# DotNet版本:.
1275 0