scala 泛型函数

33 阅读1分钟
package fx

object fx01 {
  /*
  *getMiddle(Array(1,2,3,4,5)) ===> 3
  *getMiddle(Array("1","2","3","4","5")) ===> 3
   */
  def getMiddle[T](arr:Array[T]):T = {
    // 长度/2
    arr(arr.length / 2)
  }

  def main(args: Array[String]): Unit = {
    var m = getMiddle[Int](Array(1,2,3,4,5))
    println(s"数组的中间元素是: ${m}")

    var m1 = getMiddle[String](Array("aa", "bb", "cc"))
    println(s"数组的中间元素是: ${m1}")

    var m2 = getMiddle[Double](Array(1.1,2.2, 3.3))
    println(s"数组的中间元素是: ${m2}") // 2.2

    var m3 = getMiddle[Boolean](Array(true,false, true))
    println(s"数组的中间元素是: ${m3}") // false
  }

}