第42讲:Scala中泛型类、泛型函数、泛型在Spark中的广泛应用
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,泛型:通俗的讲,比如需要定义一个函数,函数的参数可以接受任意类型。我们不可能一一列举所有的参数类型重载(overload)函数。那么程序引入了一个称之为泛型的东西,这个类型可以代表任意的数据类型。例如
千家信息网最后更新 2025年01月23日第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安全错误
数据库的锁怎样保障安全
保险软件开发有技术含量吗
云视通网络安全吗
谷歌的游戏服务器
上海智能软件开发公司
许昌学院计算机网络技术专业收费
软件开发语言体系
济南浪潮服务器代理
mvc ef 数据库连接
国开数据库应用技术实验心得
如何查看服务器内存条生产日期
软件开发角色组成
数据库被入侵从哪找人
华为手机卡死无法连接服务器
网络安全性宣传周期
游戏软件开发商精装修
郑州东塔网络安全学院十大品牌
俄罗斯网络安全法律不足
大足租房网络安全
服务器err60
江苏省人民检察院网络安全
地籍数据库
服务器故障管理软件
计算机网络技术名词看不懂
mc服务器创建新世界
mysql数据库消息队列
2021网络安全专项治理方案
数据库字段创建唯一
大兴回收服务器价目表
网络安全演练工作心得体会
gps登录账号服务器超时