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)
  }
  }
相关推荐
weixin_417257061 小时前
Qt解决不同线程,调用对方的函数
开发语言·qt
Terio_my1 小时前
Spring Boot 缓存技术
spring boot·后端·缓存
IT_陈寒1 小时前
Python 3.12 性能暴增50%!这5个新特性让老项目直接起飞
前端·人工智能·后端
你的人类朋友2 小时前
【操作系统】说说 x86 和 x64
后端·程序员·操作系统
梦终剧2 小时前
【Android之路】 Kotlin 的 data class、enum class、sealed interface
android·开发语言·kotlin
半夏知半秋2 小时前
基于skynet框架业务中的gateway实现分析
服务器·开发语言·后端·学习·gateway
Leo655358 小时前
JDK8 的排序、分组求和,转换为Map
java·开发语言
磨十三9 小时前
C++ 标准库排序算法 std::sort 使用详解
开发语言·c++·排序算法
两只程序猿10 小时前
数据可视化 | Violin Plot小提琴图Python实现 数据分布密度可视化科研图表
开发语言·python·信息可视化
野生技术架构师10 小时前
1000 道 Java 架构师岗面试题
java·开发语言