Scala 的泛型类

Scala 中的泛型类指的也是一个有类型参数的类函数

class Singular[A](element: A) extends Traversable[A] {
	def foreach[B](f: A=> B) = f(element)
}

object scala {
	def main(args: Array[String]) = { 
		val p = new Singular("Planes")
		p.foreach(println)
		//p foreach println // 等价写法
	}
}

类名后跟的 [A] 就是类型参数,在 new 生成实例的时候,Singular 类会根据参数 "Planes" 自动推导出 A 的类型,即 String。scala

foreach 是一个函数泛型,它接受一个函数参数 f,f 的参数为 A,函数体为 B,当咱们传入 println 时,自动推导出 B 的类型,即 println 的类型。code

相关文章
相关标签/搜索