是否适合定义一个非平凡的Scala案例类?
发布时间:2020-12-16 19:18:49 所属栏目:安全 来源:网络整理
导读:我今天定义了一个 Scala类,我认为“我需要一个equals方法和一个hashCode方法;而且复制方法也很方便.我会把它变成一个case类.”我的班级已经有了许多其他代码,并不是一件容易的事. 很好,一切都有效,但是当教科书处理案例类时,所有示例都将它们定义为用作值类
我今天定义了一个
Scala类,我认为“我需要一个equals方法和一个hashCode方法;而且复制方法也很方便.我会把它变成一个case类.”我的班级已经有了许多其他代码,并不是一件容易的事.
很好,一切都有效,但是当教科书处理案例类时,所有示例都将它们定义为用作值类或“数据传输对象”.定义一个非平凡的案例类是否合适?上面描述的思维过程是否正常,或者我是否需要以不同的方式考虑案例类? 解决方法
案例类基于主构造函数参数提供,equals,hashCode和toString方法,所有这些方法也都转换为val.此外,对象伴侣再次基于主构造函数参数获取apply和unapply方法.
此外,case类继承自Serializable和Product,不应由其他类扩展. 如果所有这些都适合您的课程,那么请随意将其声明为“案例类”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |