(一)泛型的概念
泛型的定义为:参数化类型,即所有操作的数据类型被指定为一个参数。
基础代码:
package fx
/**
* 两个函数长得一样!!!只有参数的类型不同
*
* 定一个名为getMiddle方法,用来获取输入列表中的中间位置上的元素
*
* 1 2 3 4 5 6 7
*
*
* */
object fx01 {
def getMiddle(arr:Array[Int]):Int = {
arr(arr.length/2)
}
def getMiddle1(arr:Array[String]):String = {
arr(arr.length/2)
}
def main(args: Array[String]): Unit = {
val arr1 = Array(1,2,3,4,5,6,7)
println(s"arr1的中间元素是:${getMiddle(arr1)}")
val arr2 = Array("a","b","c")
println(s"arr2的中间元素是:${getMiddle1(arr2)}")
// val arr3 = Array(1.1,2.2,3.3)
}
}
package fx
/**
* 两个函数长得一样!!!只有参数的类型不同
*
* 定一个名为getMiddle方法,用来获取输入列表中的中间位置上的元素
*
* 1 2 3 4 5 6 7
*
*
* */
object fx01 {
def getMiddle[T](arr:Array[T]): T = {
arr(arr.length/2)
}
// def getMiddle(arr:Array[String]):String = {
// arr(arr.length/2)
// }
def main(args: Array[String]): Unit = {
val arr1 = Array(1,2,3,4,5,6,7)
println(s"arr1的中间元素是:${getMiddle[Int](arr1)}")
val arr2 = Array("a","b","c")
println(s"arr2的中间元素是:${getMiddle[String](arr2)}")
val arr3 = Array(1.1,2.2,3.3)
println(s"arr3的中间元素是:${getMiddle[Double](arr3)}")
}
}
在Scala中,用[]表示(在java中使用<>)。 泛型是对数据的类型的约束!