登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
资源区
›
代码
›
Scala-隐式转换
Scala-隐式转换
[ 复制链接 ]
仲水悦
2025-6-5 08:16:40
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
隐式转换
精度小的类型可以自动转换为精度大的类型,这个转换过程无需开发人员参与,由编译器自动完成,这个转换操作我们称之为隐式转换。
如果程序编译出错,编译器会尝试在整个的作用域中查找能够让程序编译通过的方式
如果找到,那么编译器会尝试二次编译,让之前编译出现错误的代码经过转换后能够编译通过。
这个转换过程看不见,但是存在,就称之为隐式转换,所谓的隐式转换,其实就是类型的转换
隐式函数
object ScalaImplicit {
def main(args: Array[String]): Unit = {
implicit def transform( d : Double ): Int = {
d.toInt
}
var d : Double = 2.0
val i : Int = d
println(i)
}
}
复制代码
隐式函数实现程序功能的扩展
符合OCP
def main(args: Array[String]): Unit = {
// 使用implicit声明的函数为隐式函数。
implicit def thransform( user:User ): UserExt = {
new UserExt()
}
val user = getUser()
user.insertUser()
user.updateUser()
}
class UserExt {
def updateUser(): Unit = {
println("update user...")
}
}
class User {
def insertUser(): Unit = {
println("insert user...")
}
}
def getUser() = {
new User()
}
复制代码
隐式参数
def reg( implicit password : String = "000000" ): Unit = {
println("默认密码:" + password)
}
复制代码
隐式变量
隐式参数不用传递,这个传递的过程由编译器完成
在同一个作用域中,如果相同的转换规则的多个数据,会发生错误
implicit val password : String = "111111"
reg ==> 默认密码:111111
复制代码
隐式类
在Scala2.10后提供了隐式类,可以使用implicit声明类,隐式类非常强大,同样可以扩展类的功能,在集合的数据处理中,隐式类发挥了重要的作用。
其所带的构造参数有且只能有一个
隐式类必须被定义在“类”或“伴生对象”或“包对象”里,即隐式类不能是顶级的。
def main(args: Array[String]): Unit = {
val user = new User()
user.insertUser()
user.updateUser()
}
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
class User {
def insertUser(): Unit = {
println("insert user...")
}
复制代码
隐式机制
当前代码作用域
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
复制代码
父类或伴生对象
class Parent {
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
}
object Parent {
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
}
复制代码
特征或伴生对象
trait MyTrait {
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
}
object MyTrait {
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
复制代码
在其他地方声明(包对象)
package object chapter {
implicit class UserExt(user:User) {
def updateUser(): Unit = {
println("update user...")
}
}
}
复制代码
直接导入
import com.atguigu.bigdata.scala.test.TestTransform._
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Scala
隐式
转换
相关帖子
用隐式马尔科夫模型检测XSS攻击Payload
笔记:不同进制的转换方法
【Agent】生成式隐式记忆 MemGen 源码解读
国产化Excel处理控件Spire.XLS教程:使用Java将CSV转换为PDF(含格式设置)
隐式Group看我如何在子查询做到极致的性能天花板
国产化Word处理控件Spire.Doc教程:使用Java将RTF文件转换为PDF的全面教程
用隐式马尔科夫模型分类URI和检测XSS的流程
进制与进制转换:个进制、八进制、十进 制、十六进制
使用协议转换网关采集DLT645电表数据采集保存到MySQL数据库的项目案例
使用协议转换网关实现机器人EthernetIP转成西门子Profinet的项目案例
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
用隐式马尔科夫模型检测XSS攻击Payload
28
871
莘度
2025-10-31
安全
笔记:不同进制的转换方法
24
424
甘子萱
2025-11-08
业界
【Agent】生成式隐式记忆 MemGen 源码解读
25
292
里豳朝
2025-11-10
业界
国产化Excel处理控件Spire.XLS教程:使用Java将CSV转换为PDF(含格式设置)
21
934
奄幂牛
2025-11-17
业界
隐式Group看我如何在子查询做到极致的性能天花板
27
1023
柏雅云
2025-11-17
业界
国产化Word处理控件Spire.Doc教程:使用Java将RTF文件转换为PDF的全面教程
26
425
红弘丽
2025-11-23
业界
用隐式马尔科夫模型分类URI和检测XSS的流程
26
319
郗燕岚
2025-12-04
安全
进制与进制转换:个进制、八进制、十进 制、十六进制
22
472
龙正平
2026-01-07
安全
使用协议转换网关采集DLT645电表数据采集保存到MySQL数据库的项目案例
18
757
寨亳
2026-01-19
安全
使用协议转换网关实现机器人EthernetIP转成西门子Profinet的项目案例
9
14
饮邺谲
2026-01-20
回复
(28)
峰邑
2025-11-10 00:41:32
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
县挫伪
2025-12-4 03:44:35
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享
庾芷秋
2025-12-15 10:29:18
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
铜坠匍
2026-1-15 12:49:38
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
喜欢鼓捣这些软件,现在用得少,谢谢分享!
迫蔺
2026-1-18 23:10:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
收藏一下 不知道什么时候能用到
肿抢
2026-1-20 18:29:00
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,辛苦了
蓬庄静
2026-1-20 23:24:12
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
劳暄美
2026-1-21 02:37:01
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
荏牌
2026-1-21 12:51:10
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个有用。
丰江
2026-1-24 06:34:46
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
yyds。多谢分享
梁丘眉
2026-1-28 08:31:00
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
僚娥
2026-1-29 06:00:49
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
很好很强大 我过来先占个楼 待编辑
痨砖
2026-2-3 21:00:58
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
柄利
2026-2-7 03:05:47
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
指陡
2026-2-8 05:44:32
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
左丘雅秀
2026-2-9 03:55:13
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,试用一下
咒卖箴
2026-2-9 07:49:58
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢发布原创作品,程序园因你更精彩
东郭欣然
2026-2-9 08:50:20
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享
钱艷芳
2026-2-9 10:57:39
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
程序
科技
业界
安全
签约作者
程序园优秀签约作者
发帖
仲水悦
2026-2-9 10:57:39
关注
0
粉丝关注
26
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9898
6
韶又彤
9918
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9883
10
遗憩
10006
查看更多
今日好文热榜
707
【节点】[MainLightShadow节点]原理解析与
626
模拟退火算法
898
Claude Code 的 Skills 可以在 Trae IDE 中
252
付费 AI 用户和免费用户之间,究竟差了什么
698
手把手教你使用vscode开发stm32!
1002
“老东西,你懦弱了”——关于Vibe Coding
925
告别Hyprland/Niri键鼠共享难题:Pynergy
752
解惑|公司员工健身房需要哪些器材?上海皓
518
凸优化数学基础笔记(六):凸集、凸函数与
389
SeeDance2.0提示词之跳舞女孩
11
SeeDance2.0提示词之跳舞女孩
683
国内零门槛首个免费 开源 7×24小时帮
572
[拆解LangChain执行引擎]非常规Pending Wri
69
AI开发-python-milvus向量数据库(2-8 -mil
80
[LKD/Linux 内核] 关于对 current_thread_i
8
[LKD/Linux 内核] 关于对 current_thread_i
7
[LKD/Linux 内核] 关于对 current_thread_i
539
杂题选做(3)
7
9、PipedInputStream和PipedOutputStream的
858
【节点】[MainLightRealtimeShadow节点]原