Scala 样例类
来源:互联网 发布:纸上数据如何快速录入 编辑:程序博客网 时间:2024/06/05 17:27
样例类使用case class 类名(参数名:参数类型)来声明。可以用来模式匹配。
样例类的特性:
1. 在伴生对象中提供apply方法,初始化时可以不用new
case class Calc(name:String)val sum = Calc("sum")
2. 默认实现了toString、equal、hashCode和copy方法
case class Calc(name:String)val sum = Calc("sum")println(sum)
结果:
Calc(sum)
普通类的toString
case Calc(name:String)val sum = new Calc("sum")println(sum)
结果:
com.scalatest.Calc@4e1d422d
3. 构造器中的每一个参数都成为val,除非显示声明为var
4. case class构造函数的参数是public级别的,我们可以直接访问
val sum = Calc("sum")sum.name
5. 提供unapply方法,支持模式匹配
class Calc()case class Sum(name:String="sum") extends Calccase class Avg(name:String="avg") extends Calcdef calculate (calc: Calc) { calc match { case s:Sum => println(s.name) case a:Avg => println(a.name) case _ => println("other") }}calculate(Sum())calculate(Avg())
结果:
sumavg
6. 默认是可以序列化的,也就是实现了Serializable
阅读全文
0 0
- scala样例类
- scala样例类
- Scala 样例类
- Scala--样例类(case)详解
- Scala样例类详细解释
- scala样例类提取器
- Scala中的样例类
- Scala
- Scala
- scala
- scala
- Scala
- scala
- Scala
- scala
- scala
- Scala
- Scala
- CentOS Apache 部署静态网站
- 关于文件操作的10个问题
- Saltstack模块file发送中文名称文件问题解决
- dubbo源码解析-集群容错架构设计
- php字符串函数(1)长度计算、查找、截取
- Scala 样例类
- nokia heif官网
- Ubuntu快速下载百度云文件
- Ffmpeg框架结构解读与编码、解码流程
- 玩客币一月间疯长百倍,迅雷雷霆之怒全面狙击投机客
- pat b 1027 打印沙漏
- Angular 中使用定时器引发的“血案”
- Java HttpURLConnection使用
- Android中每隔一段时间重复执行