scala快速入门系列【样例类】
本篇作为scala快速入门系列的第二十七篇博客,为大家带来的是关于样例类的内容。
样例类
样例类是一种特殊的类,它可以用来快速定义一个用于保存数据的类(类似于Java POJO类),在后续的学习并发编程和spark,flink这些框架也都会经常使用它。
定义样例类
语法
- 如果要实现某个成员变量可以被修改,可以添加var
- 默认为val,可以省略
示例 | 定义一个样例类
- 定义一个Person样例类,包含姓名和年龄成员变量
- 创建样例类的对象实例(“张三”、20),并打印它
参考代码
示例 | 可变成员变量
- 定义一个Person样例类,包含姓名和年龄成员变量
- 创建样例类的对象实例(“张三”、20)
- 修改张三的年龄为23岁,并打印
参考代码
样例类方法
当我们定义一个样例类,编译器自动帮助我们实现了以下几个有用的方法:
- apply 方法
- toString 方法
- equals 方法
- hashCode 方法
- copy方法
apply 方法
apply方法可以让我们快速地使用类名来创建对象。参考以下代码:
toString 方法
toString返回样例类名称(成员变量1,成员变量2,成员变量3…),我们可以更方便查看样例类的成员。
equals 方法
样例类自动实现了equals方法,可以直接使用==
比较两个样例类是否相等,即所有的成员变量是否相等。
示例
- 创建一个样例类Person,包含姓名、年龄
- 创建名字年龄分别为“李四”,21的两个对象
- 比较它们是否相等
hashCode方法
样例类自动实现了hashCode方法,如果所有的成员变量的值相同,则 hash 值相同,只要有一个不一样,则hash值不一样。
示例
- 创建名字年龄分别为"李四", 21的对象
- 再创建一个名字年龄分别为"李四", 22的对象
- 分别打印这两个对象的哈希值
copy方法
样例类实现了copy方法,可以快速创建一个相同的实例对象,可以使用带名参数指定给成员进行重新赋值。
示例
- 创建名字年龄分别为"李四", 21的对象
- 通过copy拷贝,名字为"王五"的对象
本期的内容分享就到这里了,喜欢的小伙伴们记得点个赞,持续关注哟~下期为大家介绍的是样例对象,敬请期待٩(๑>◡<๑)۶
文章来源: alice.blog.csdn.net,作者:大数据梦想家,版权归原作者所有,如需转载,请联系作者。
原文链接:alice.blog.csdn.net/article/details/104091210
- 点赞
- 收藏
- 关注作者
评论(0)