zoukankan      html  css  js  c++  java
  • scala case class

    当你声明了一个 case class,Scala 编译器为你做了这些:

    • 创建 case class 和它的伴生 object

    • 实现了 apply 方法让你不需要通过 new 来创建类实例

    • 默认为主构造函数参数列表的所有参数前加 val
    • 添加天然的 hashCode、equals 和 toString 方法。由于 == 在 Scala 中总是代表 equals,所以 case class 实例总是可比较的
    • 生成一个 copy 方法以支持从实例 a 生成另一个实例 b,实例 b 可以指定构造函数参数与 a 一致或不一致
    scala> val person = Person("xioaming","wang",2000)
    person: Person = Person(xioaming,wang,2000)

    scala> person.lastname
    res0: String = xioaming

    scala> person.lastname = "h"
    <console>:12: error: reassignment to val
           person.lastname = "h"
                           ^
  • 相关阅读:
    简单理解Socket
    TCP/IP、Http、Socket的区别
    iOS,一行代码进行RSA、DES 、AES、MD5加密、解密
    iOS开发
    我的问题
    Windows 摄像头数据
    学习记录
    编码转换
    QString 编码转换
    参考网页
  • 原文地址:https://www.cnblogs.com/xubiao/p/8080575.html
Copyright © 2011-2022 走看看