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)
  }
  }
相关推荐
格林威18 分钟前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
江南十四行1 小时前
Spring框架核心(上)——IoC控制反转与DI依赖注入详解
java·后端·spring
IT_陈寒1 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端
初级代码游戏2 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十二):管理员权限检查中间件,AI 随意放行预闯大祸
前端·后端·go
创安电气研究所2 小时前
用 Node.js 将变频器运行数据接入 MQTT
后端
董员外2 小时前
RAG 系统进化论(八):Agentic RAG(智能体式 RAG),从回答问题到完成任务
人工智能·后端·设计模式
大勇前进3 小时前
告别 div 满天飞,HTML5 语义化标签真的有必要用吗?
后端
小满zs3 小时前
Go语言第六章(结构体)
后端·go