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)
  }
  }
相关推荐
1024奇点2 分钟前
【仓颉语言入门 · 第二篇 第 12 课】
开发语言·数据库·ide·mysql·开源
LDR0066 分钟前
LDR6100 智能遥控器精品软文:Type-C 充电口与低功耗量产维护
c语言·开发语言
iCxhust37 分钟前
MATLAB SPWM仿真
开发语言·matlab
谙忆1 小时前
PNG改成ICO为什么不能用:用Python检查多尺寸目录与256px帧
开发语言·python
萧瑟余晖1 小时前
Spring Data综合实战与调优详解
java·后端·spring
青峰讲运维1 小时前
OpenStack 存储深度解析|Cinder 块存储 + Swift 对象存储原理与完整实操(Yoga)
开发语言·openstack·swift
汤姆宝库1 小时前
具身智能深拆:VLA、世界模型与数据飞轮
开发语言·人工智能·php
云和数据.ChenGuang1 小时前
深入剖析 Python 的 MRO 规则:从 C3 线性化到实战踩坑
开发语言·python·1024程序员节
123_不打狼1 小时前
Squidiff:基于条件扩散模型预测细胞发育与扰动响应
开发语言·python·squidiff