Scala函数的泛型

复制代码
package hfd
//泛型
//需求:你是一个程序员,老板让你写一个函数,用来获取列表中的中间元素
//List(1,2,3,4,5)==>中间元素的下标=长度/2 ===>3
//getMiddleEle
object Test38_5 {

  def print1():Unit={
    println(1)
  }

  def print2(): Unit = {
    println(2)
  }

  def print3(): Unit = {
    println(3)
  }
def print (n: Int): Unit = {
  println (n)
  }
  //定义函数的格式:
  //def 函数的名字(参数1:类型1):返回值类型={
  //}
  //  def getMiddleEle1(list:List[Int]): Int =list(list.length/2)
  //
  //  def getMiddleEle2(list: List[String]): String = list(list.length / 2)
  //
  //  def getMiddleEle3(list: List[Double]):Double=list(list.length/2)

//[T]就是泛型:类型参数化,把类型当做参数传入函数内部
  def getMiddleEle[T] (list: List[T] ): T = list (list.length / 2)

  def main (args: Array[String] ): Unit = {
  val rs1 = println (getMiddleEle (List (1, 2, 3, 4, 5) ) ) //3
  println (rs1)
 val rs2= println (getMiddleEle (List ("1", "2", "3", "4", "5") ) ) //3
  println (rs2)
  val rs3=println (getMiddleEle(List (1.2, 2.0, 2.9) ) ) //2.0
  println (rs3)
  }
  }
相关推荐
sheji34164 分钟前
【开题答辩全过程】以 基于Spring Boot的旅游推荐系统的设计与实现为例,包含答辩的问题和答案
spring boot·后端·旅游
lead520lyq9 分钟前
Golang GPRC流式传输案例
服务器·开发语言·golang
xyq202410 分钟前
《C 经典100例》
开发语言
不染尘.11 分钟前
二分算法(优化)
开发语言·c++·算法
只是懒得想了12 分钟前
Go语言ORM深度解析:GORM、XORM与entgo实战对比及最佳实践
开发语言·数据库·后端·golang
不吃橘子的橘猫13 分钟前
Verilog HDL基础(概念+模块)
开发语言·学习·算法·fpga开发·verilog
lly20240615 分钟前
JavaScript 闭包详解
开发语言
爱吃山竹的大肚肚15 分钟前
异步导出方案
java·spring boot·后端·spring·中间件
彩妙不是菜喵17 分钟前
STL精讲:list容器
开发语言·c++
梵刹古音21 分钟前
【C语言】 定义变量
c语言·开发语言·嵌入式