一、Scala 泛型
- 如果我们要求函数的参数可以接受任意类型。可以使用泛型,这个类型可以代表任意的数据类型。
- 例如 List,在创建 List 时,可以传入整型、字符串、浮点数等等任意类型。那是因为 List 在 类定义时引用了泛型。比如在Java中:public interface List<E> extends Collection<E>
1. 案例要求:
- 编写一个Message类
- 可以构建Int类型的Message,String类型的Message
- 要求使用泛型来完成设计,(说明:不能使用Any)
object GenericUse { def main(args: Array[String]): Unit = { val mes1 = new StrMessage[String]("10") println(mes1.get) val mes2 = new IntMessage[Int](20) println(mes2.get) }} // 在 Scala 定义泛型用[T], s 为泛型的引用 abstract class Message[T](s: T) { def get: T = s } // 子类扩展的时候,约定了具体的类型 class StrMessage[String](msg: String) extends Message(msg) class IntMessage[Int](msg: Int) extends Message(msg)