第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,泛型:通俗的讲,比如需要定义一个函数,函数的参数可以接受任意类型。我们不可能一一列举所有的参数类型重载(overload)函数。那么程序引入了一个称之为泛型的东西,这个类型可以代表任意的数据类型。例如
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
网络安全保护第一责任人
基岩版服务器有什么
数据库职业发展晋升
主从数据库同步问题
丰台区正规软件开发报价
为了网络安全请一键登录
阿里巴巴软件开发相关公司
国培网络技术个人感受
如何多个手机访问一个数据库
合肥软件开发java培训
网络安全工程专业能考研吗
服务器进入安全模式
丰泽小程序软件开发
ntp服务器搭建
服务器里面的ad
包头老男孩互联网科技有限公司
梦幻西游浙江二区服务器虚拟主机
数据库表的主键可以有几个
网络安全工作考核工作方案
怎么基于数据库
阿里子账号看不到数据库
数据库添加表连续数据
伊森利恩 服务器
瞻博网络技术支持
北京字节跳动网络技术
服务器链接丢失怎么回事
如何降低数据库的访问压力
emule 不上服务器
gis软件开发思路和流程
公安部网络安全保卫局1