学科分类
目录
Spark技术栈

样例类

在Scala中,使用case关键字来定义的类被称为样例类。样例类是一种特殊的类,经过优化可以被用于模式匹配。下面,我们使用case定义样例类Person,并将该样例类应用到模式匹配中,具体代码如文件1所示。

​ 文件1 CaseClass.scala

 1  object CaseClass {

 2    // 样例类

 3    case class Person(name: String, age: Int)

 4    def main(args: Array[String]) {

 5      val alice = new Person("Alice", 25)

 6      val bob = new Person("Bob", 32)

 7      val charlie = new Person("Charlie", 32)

 8      for (person <- List(alice, bob, charlie)) {

 9        //模式匹配

 10       person match {

 11         case Person("Alice", 25) => println("Hi Alice!")

 12         case Person("Bob", 32) => println("Hi Bob!")

 13         case Person(name, age) =>

 14               println("Name: " + name + "\t"+ "Age: " + age)

 15       }

 16     }

 17   }

 18 }

上述代码中,第3行代码是创建了一个样例类Person;第4-14行代码是主方法main(),在主方法中创建了三个样例类Person的实例对象alice、bob和charlie,并通过模式匹配将实例对象与样例类Person进行匹配,从而进行不同的处理。

运行上述文件1中的代码,效果如图1所示。

img

​ 图1 样例类的运行结果

点击此处
隐藏目录