implicit class StrongString(str: String) {
def isPhone: Boolean = {
val reg = "1[3-9]\\d{9}".r
reg.matches(str)
}
}
def main(args: Array[String]): Unit = {
val str: String = "18888488488"
// 需求:给字符串补充一个功能isPhone,判断它是不是一个手机号
val rs = str.isPhone
//val rs = (new StrongString(str)).isPhone
println(s"$str 的检查结果是:$rs")
}
/* object StringExtension {
// 私有类,外部无法直接访问其构造函数等细节
private class StrongString(private val str: String) {
def isPhone: Boolean = {
val reg = "1[3-9]\\d{9}".r
reg.matches(str)
}
}
// 私有作用域内的隐式转换,限制其使用范围,使其更符合局部使用场景
private[StringExtension] implicit def stringToStringString(str: String): StrongString = {
new StrongString(str)
}
def checkPhone(str: String): Boolean = {
// 通过隐式转换调用isPhone方法进行判断
str.isPhone
}
def main(args: Array[String]): Unit = {
val str: String = "18888488488"
val rs = checkPhone(str)
println(s"$str 的检查结果是:$rs")
}
}*/
Scala测试
只因只因爆2024-12-12 9:30
相关推荐
Scott9999HH3 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准码智社4 小时前
AES加密原理详解及Java实现加解密实战AI云海4 小时前
python 列表、元组、集合和字典萧瑟余晖5 小时前
JDK 26 新特性详解马优晨6 小时前
Freemarker 完整讲解(后端 Java 模板引擎)人邮异步社区8 小时前
怎么把C语言学到精通?心平气和量大福大8 小时前
C#-WPF-控件-TextBox 数据绑定ttwuai8 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验এ慕ོ冬℘゜9 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途执明wa9 小时前
LayoutInflater详解: XML是如何变成View的?