标签:
学习了scala中List的泛型分析以及::类和Nil对象,List是对scala的类型系统的一个非常好的使用,进一步巩固List的知识对于理解scala的类型系统是非常有价值的。本讲主要分析了List的泛型、::类和Nil对象。 List有两个非常重要的子类,一个是::,一个是Nil,这两个子类都是case class。Nil表示一个空的列表,而::表达的是一个非空的列表。
例子如下:
case object Nil extends List[Nothing]{
override def isEmpty = true
override def head : Nothing = throw new NoSuchElementException("tail of empty list")
override def tail : List[Nothing] = throw new UnsupportedOperationException("tail of empty list")
override def equals(that Any) = that match{
case that1 : scala.collection.GenSeq[_] => that1.isEmpty
case _ => false
}
}
标签:
原文地址:http://www.cnblogs.com/tom-lee/p/4712496.html