样例类
在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所示。
图1 样例类的运行结果