在项目开发中,我们都有这样的经历,就是在新增表时,会相应的增加java类,在java类中都存在常见的几个方法,包括:equals(),hashcode(),toString() ,compareto()这四个方法,对于刚刚接触java的初学者来说,对于这块可以没有更深入的了解,只是单纯意义上的复制粘贴,并没有很好的去了解。现在借用这个时间给大家说说这几个方法作用。
 
equals:
比较两个对象相等时使用(需要配合Hashcode一起使用,在后边再进行详细解释)
 
hashcode:
重写hashcode方法的主要目的就是让Hashtable/HashSet/HashMap等集合正常工作,也就是说他们都是基于hashcode进行地址判断的,如果重写equals而不重写hashcode,对于HashMap来说存入2个相同的对象保存一个key,却对应2个值,而取的时候是无法取出值,其它的集合类也是类似,为了不至于混乱出错,所以以上集合类重写equals时候必须重写hashcode方法。是不是其它的类也是的呢?我认为不完全是,因为普通类重新hashcode意义不大,不写也不会出现编译错误。
 
toString:
因为所有类都是继承自Object,Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。最终就是为了我们显示的时候方便。
 
Compareto:
很显然,是为了比较两个对象使用,JAVA中的比较器接口Comparable用于数组对象的排序,要使用此功能,必须让类继承自Comparable接口,重写compareTo。

最新文章

  1. ora-01652无法通过128(在表空间temp中)扩展temp段
  2. jeechart
  3. Redis漏洞?阿里云被攻击!
  4. PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )
  5. oracle授权另外一个用户访问自己创建的数据对象
  6. [Lua]基于cc.load('mvc') .ViewBase索引资源方案
  7. u盘安装ubuntu10.04 、11.04 server
  8. 数组for循环查找范围
  9. (DP) 关于最优三角剖分
  10. Spark环境准备
  11. vertical-align垂直对齐用法
  12. Kettle系列: 马进举开源的Kettle通用插件 KettleEasyExpand
  13. golang中GOPATH的简单理解
  14. BZOJ1296 [SCOI2009]粉刷匠 动态规划 分组背包
  15. ASP.NET 构建高性能网站 第5篇
  16. centos上Jenkins搭建
  17. PHP 执行系统外部命令的方法 system() exec()
  18. PHP打印日期
  19. API 接口设计工具 --Swagger
  20. Shell 语句

热门文章

  1. python深浅拷贝&垃圾回收&上下文管理(with语句)
  2. No compiler is provided in this environment报错解决方案
  3. 大数据软件安装之Flume(日志采集)
  4. Angularjs优点
  5. 数据库安装和基本sql语句
  6. 用java分组查elasticsearch
  7. 李宏毅老师机器学习课程笔记_ML Lecture 1: ML Lecture 1: Regression - Demo
  8. test命令的使用以及判断语法
  9. Building Applications with Force.com and VisualForce(六):Designing Applications for Multiple users: Accommodating Multiple Users in your App
  10. 将Python执行代码打包成exe可执行文件