第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,我们先看一下变量界定的代码package com.dt.scala.type_parameterizationclass Pair_NoPerfect[T <: Comparable[T]](firs
千家信息网最后更新 2025年02月23日第44讲:Scala中View Bounds代码实战及其在Spark中的应用源码解析
我们先看一下变量界定的代码
package com.dt.scala.type_parameterizationclass Pair_NoPerfect[T <: Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second }}object View_Bounds { def main(args: Array[String]): Unit = { val pair = new Pair_NoPerfect("Spark","Hadoop") println(pair.bigger) }}
如果我们要传入的参数是整数,编译器会报错
说明Int不是Comparable的子类。但是Int可以通过隐式转换转成RichInt ,它是Comparable子类。
那么我们可以使用视图界定(view bound)来实现
package com.dt.scala.type_parameterizationclass Pair_NoPerfect[T <: Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second }}// 将变量界定符号中的:换成% ,那么就变成了视图界定 <% class Pair_Better[T <% Comparable[T]](first: T,second:T){ def bigger ={ if (first.compareTo(second)>=0) first else second }}object View_Bounds { def main(args: Array[String]): Unit = { val pair = new Pair_Better(1,2) // 隐式转换 Int -> RichInt println(pair.bigger) }}
变量
子类
视图
代码
参数
可以通过
整数
符号
编译器
会报
编译
实战
源码
应用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
各部门及任务线中拥有征信数据库
云南省扫黄打非网络安全进课堂
sql为数据库建立用户
简述敏捷软件开发步骤
服务器的云安全吗
数据库查询最近一周显示数据
川大爱如生数据库
深泽应用软件开发服务技术规范
聚成管理系统内部服务器下载
服务器和负载均衡器有什么区别
支付宝支付软件开发
通信工程考研网络安全
太和软件开发者
武汉市嘉仕力网络技术有限公司
ibm 服务器客服电话
数据库表格分类汇总
可处理电子数据库
海尔电视虾米音乐显示服务器出错
数据库讨论群
昆明哪里有软件开发公司
布莱恩-罗伯茨数据库
河南青柠网络技术有限公司
郑州加油软件开发
淮安软件视频系统服务器
大唐官府服务器吧
怎么把数据库文件附加到sql
全球大企业接连被袭击网络安全
essbase数据库登录
网络安全黑板报设计理念
GPS软件开发公司