ジェネリクスなクラス

ジェネリクスなクラスは[]にて型指定を行います。

class Type[T] {
  private var v : T = _
  def set(value : T) {v=value}
  def get : T = v
}
object Main extends Application {
  val i1 = new Type[Int] //Int用
  i1.set(100)
  println(i1.get)  //100

  val i2 = new Type[()=>unit] //もちろん関数も格納可能
  i2.set(() => println("test"))
  i2.get()  //test
}

その他にも[+A]とか[-A]とか、[A