您的位置:首页 > 其它

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)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: