java - 我应该总是覆盖equals、hashcode和toString方法吗?
问题描述
我有一个相当简单的问题:根据最佳编程实践,当我创建一个新模型类时,我是否应该始终覆盖 equals、hashcode 和 toString 方法?即使我不打算比较特定类的对象?
解决方案
这些方法中的每一种都有其自身的意义。equals
和hashCode
方法用于比较和散列,toString
主要用于记录目的。如果您不想要任何这些功能,则不需要实现它们。
推荐阅读
- rest - 具有(太多)链接和/或多项选择要求的 Rest API
- java - 以编程方式增加 Spring Boot 中的线程数
- excel - 使用 IF THEN 语句使用 VBA 创建加号和减号按钮
- android - 自动更新应用程序,无需在 android 中使用 Play 商店
- java - Mapstruct - 空集
- go - 将两个 if 条件合二为一
- javascript - 有没有办法使用纯文本和 javascript 创建注册/登录“数据库”?
- javascript - 如何将字符串(对象)拆分为新项目中的“保存”?
- c# - 如何使 Json.NET 序列化和反序列化也实现 IDictionary 的自定义动态类型的声明属性
? - reactjs - AntDesign TimePicker React 组件未呈现为下拉菜单