Scala class和case class的区别
2017-07-05 22:39
337 查看
在Scala中存在case class,它其实就是一个普通的class。但是它又和普通的class略有区别,如下:
1、初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new;
2、toString的实现更漂亮;
3、默认实现了equals 和hashCode;
4、默认是可以序列化的,也就是实现了Serializable ;
5、自动从scala.Product中继承一些函数;
6、case class构造函数的参数是public级别的,我们可以直接访问;
7、支持模式匹配;
其实感觉case class最重要的特性应该就是支持模式匹配。这也是我们定义case class的唯一理由,难怪Scala官方也说:It makes only sense to define case classes
if pattern matching is used to decompose data structures. 。来看下面的例子:
优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。
注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会!
本博客文章除特别声明,全部都是原创!
禁止个人和公司转载本文、谢谢理解:过往记忆(https://www.iteblog.com/)
本文链接:
【Scala class和case class的区别】(https://www.iteblog.com/archives/1508.html)
喜欢 (41)
赏
分享 (0)
1、初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new;
6、case class构造函数的参数是public级别的,我们可以直接访问;
其实感觉case class最重要的特性应该就是支持模式匹配。这也是我们定义case class的唯一理由,难怪Scala官方也说:It makes only sense to define case classes
if pattern matching is used to decompose data structures. 。来看下面的例子:
优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。
注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会!
本博客文章除特别声明,全部都是原创!
禁止个人和公司转载本文、谢谢理解:过往记忆(https://www.iteblog.com/)
本文链接:
【Scala class和case class的区别】(https://www.iteblog.com/archives/1508.html)
喜欢 (41)
赏
分享 (0)
相关文章推荐
- Scala class和case class的区别
- Scala class和case class的区别
- Scala class和case class的区别
- scala case class与class区别
- scala class和case class的区别
- Scala class 和 case class 的区别
- Scala class与Case class的区别
- Scala的object和class的区别
- scala class和object,trait的区别
- scala学习笔记07--样本类(case class)和模式匹配
- Scala 语法 Case Class和模式匹配
- Scala语法 Case Class和模式匹配
- Scala中class和object的区别
- Case class和Case object代码实战解析之Scala学习笔记-20
- scala学习:模式匹配高级实战:嵌套的Case class
- Scala Case Class介绍
- scala case class
- Scala入门到精通——第十五节 Case Class与模式匹配(二)
- scala object类与普通class的区别与联系
- scala中 object 和 class的区别