第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,泛型:通俗的讲,比如需要定义一个函数,函数的参数可以接受任意类型。我们不可能一一列举所有的参数类型重载(overload)函数。那么程序引入了一个称之为泛型的东西,这个类型可以代表任意的数据类型。例如
千家信息网最后更新 2026年11月01日第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用
泛型:通俗的讲,比如需要定义一个函数,函数的参数可以接受任意类型。我们不可能一一列举所有的参数类型重载(overload)函数。
那么程序引入了一个称之为泛型的东西,这个类型可以代表任意的数据类型。
例如List,在创建List时,可以传入×××、字符串、浮点数等等任意类型。那是因为List在类定义时引用了泛型。
List的定义
sealed abstract class List[+A] extends AbstractSeq[A] with LinearSeq[A] with Product with GenericTraversableTemplate[A, List] with LinearSeqOptimized[A, List[A]] with Serializable
其中A就是类型,当然A你可以写成任意的标识符。
泛型应用在类和函数中,代码示例如下:
package com.dt.scala.type_parameterization//泛型类 F,S,T 是类型,后面引用该类型class Triple[F,S,T](first: F,second: S,third: T)object Hello_type_parameterization { def main(args: Array[String]): Unit = { //创建一个对象,传入参数类型为 String、Int、Doubleval triple1 = new Triple("Spark",3,3.14) // 可见,定义时使用泛型,在调用时可以根据自己的需要传入任何类型。 //也可以用如下方式创建对象 val triple2 = new Triple[String,String,String]("Spark","Scala","Kafka") //new 的时候,指定类型。那么传入的参数,必须是指定的类型 // 泛型函数 // 定义一个函数,可以获取各类List的中间位置的值 def getData[T](l: List[T])={ l.take(l.length/2) } println(getData(List("a","b","c"))) println(getData(List(1,2,3,4,5,6))) }}
类型
函数
参数
对象
应用
通俗
一一列举
东西
代码
代表
位置
字符
字符串
就是
数据
方式
时候
标识
标识符
点数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
互联网与科技
新华互联网科技
科技与互联网发展
以房互联网科技
壹账通互联网科技
互联网 新科技
互联网科技大会
卓越科技互联网 招聘
青海省互联网新科技
开启互联网科技时代小说
互联网和黑科技的看法
互联网与医疗科技
江苏互联网智能科技软件
互联网科技股为什么大涨
互联网科技年终奖
上海乐五互联网科技有限公司
互联网科技企业商标注意事项
互联网科技职业技能培训学校
长沙易易互联网科技有限公司
广州淘业互联网络科技
哈尔滨大商圈互联网科技有限公司
今日互联网科技
为想互联网科技
天下捷融互联网科技
互联网金融科技公司干啥的
全球顶尖互联网科技公司
速维有品互联网信息科技(苏州)有限公司
米聚互联网科技南京有限公司排面
陕西彩京云互联网科技有限公司