scala case class与match

val alice = new Person("Alice", 25)
  val bob = new Person("Bob", 32)
  val charlie = new Person("Charlie", 32)
  for(person <- List(alice,bob,charlie)){
    person match{
      case alice => {println("hi,alice")} 
      case bob =>println("hi,bob")
      case charlie => println("hi,charlie")
    }
  }
  
    val alice1 = new Person1("Alice1", 25)
  val bob1 = new Person1("Bob1", 32)
  val charlie1 = new Person1("Charlie1", 32)
    for(person <- List(alice1,bob1,charlie1)){
    person match{
      case Person1("Alice1", 25) => {println("hi,alice1")} 
      case Person1("Bob1", 32) =>println("hi,bob1")
      case Person1("Charlie1", 32) => println("hi,charlie1")
    }
  }

class Person(val name:String,val age:Int){}
case class Person1( val name:String, val age:Int){}

打印结果:

hi,alice

hi,alice

hi,alice

hi,alice1

hi,bob1

hi,charlie1

猜你喜欢

转载自my.oschina.net/u/2963604/blog/1806802
今日推荐