package hfd //泛型 //需求:你是一个程序员,老板让你写一个函数,用来获取列表中的中间元素 // List(1,2,3,4,5) ==> 中间元素的下标 = 长度/2 ===> 3 // getMiddleEle object test40 { // def printn1(): Unit ={ // println(1) // } // // def printn2(): Unit = { // println(2) // } // // def printn3(): Unit = { // println(3) // } // def printn(n:Int) ={ // println(n) // } //定义函数的格式: //def 函数的名字(参数1: 类型1) : 返回值的类型 = { // } // def getMiddleEle(list: List[Int]):Int = list(list.length/2) // // def getMiddleEle(list: List[Double]):Double = list(list.length/2) // // def getMiddleEle(list: List[String]): String = list(list.length / 2) //[T] 就是泛型, 类型参数化,把类型当做参数传入函数内部 def getMiddleEle[T](list: List[T]):T = list(list.length/2) def main(args: Array[String]): Unit = { val rs1 = getMiddleEle[Int](List(1,2,3,4,5)) println(rs1) //3 val rs2 = getMiddleEle[String](List("1","2","3","4","5")) println(rs2) //c val rs3 = getMiddleEle[Double](List(1,2,2.0,2.9)) println(rs3) //2.0 // println(1) // println(2) // println(3) // println(getMiddleEle(List(1,2,3,4,5))) // 3 // // println(getMiddleEle(List("1","2","3","4","5"))) //3 // // println(getMiddleEle(List("1","2","c","4","5"))) //c // // println(getMiddleEle(List(1,2,2.0,2.9))) //2.9 } }