基本介绍
如果我们要求函数的参数可以接受任意类型。可以使用泛型,这个类型可以代表任意的数据类型。
例如 List,在创建 List 时,可以传入整型、字符串、浮点数等等任意类型。那是因为 List 在 类定义时引用了泛型。比如在Java中:public interface List extends Collection
案例1
要求:
1)编写一个Message类
2)可以构建Int类型的Message,String类型的Message.
3)要求使用泛型来完成设计,(说明:不能使用Any)
案例2:
要求
1)请设计一个EnglishClass (英语班级类),在创建EnglishClass的一个实例时,
需要指定[ 班级开班季节(spring,autumn,summer,winter)、班级名称、班级类型]
2)开班季节只能是指定的,班级名称为String, 班级类型是(字符串类型 “高级班”, “初级班”…) 或者是 Int 类型(1, 2, 3 等)
3)请使用泛型来完成本案例.
object ScalaTest {
def main(args: Array[String]): Unit = {
val class1 = new EnglishClass[SeasonEnum.SeasonEnum, String, String](SeasonEnum.spring,"1班","高级班")
println("class1:" + class1.classSeason + class1.className + class1.classType)
}
}
class EnglishClass[A,B,C](val classSeason: A, val className: B, val classType: C){
}
//定义枚举类型,注意是 object
object SeasonEnum extends Enumeration {
type SeasonEnum = Value
val spring,autumn,summer,winter = Value
}
案例3:
要求
定义一个函数,可以获取各种类型的 List 的中间index的值
使用泛型完成
----- 韩顺平老师Scala视频笔记