package Scala13//需求:定义一个名为getMiddleEle的方法 // 用它来获取当前的列表的中间位置上的值 // 中间位置的下标=长度/2 //目标: // getMiddleEle(List(1,2,3,4,5)) ==>5/2=2 ==>下标为2的元素是:3 // getMiddleEle(List(1,2,3,4)) ==>4/2=2 ==>下标为2的元素是:3 // object s {//定义一个函数的格式://def 函数名(参数名: 类型):返回值类型={// 函数体// }//List[Int]:List是列表,[Int]是说列表中的每一个元素都是int!//类型参数化 -------泛型(数据类型是变化的)//(1) 可以有多个//(2)名称合法就行,没有固定的。一般用T(Type)//在scala中,用[]表示。在Java中,用<>表示//def getMiddleEle[x](list: List[x]): x = {list(list.length / 2)}def main(args: Array[String]): Unit = {// val rs1 = getMiddleEle[Int](List(1, 2, 3, 4, 5))// println(rs1)// val rs2 = getMiddleEle[String](List("a", "b", "c", "d", "e"))// println(rs2)// val rs3 = getMiddleEle[Double](List(1.1, 2.2, 3.3, 4.4, 5.5))// println(rs3)//理解泛型//1.与数据类型的区别// List是数据类型,表示一个列表。[Int]表示泛型,它约定列表中每一个元素都是Int类型// val l1=List[Int](1,2,"a")// l1.foreach(println)//2.泛型在编译时生效,在运行时不可见。最后产生的class文件中是没有泛型的。} }