package com.lyzz.test.scala.createList
sealed trait List[+A]
case object Nil extends List[Nothing]
case class Cons[+A](head:A,tail:List[A]) extends List[A]
object List {
def apply[A](as: A*):List[A] =
if (as.isEmpty) Nil
else Cons(as.head,apply(as.tail:_*))
}
object test{
def main(args: Array[String]): Unit = {
var list = List(1,2,3,4,5)
println(list)
}
}
打印结果:
Cons(1,Cons(2,Cons(3,Cons(4,Cons(5,Nil)))))
Process finished with exit code 0