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
相关推荐
夏婵语冰1 小时前
实用R语言机器学习指南:从数据预处理到模型实战(附配套学习资源)牛角上的男孩4 小时前
apt update Ign and 404 Not Foundyzzzzzzzzzzzzzzzzz5 小时前
JavaScript 操作 DOM海绵宝宝汉堡包6 小时前
c# 项目 文件夹小白要加油努力6 小时前
C++设计模式--策略模式与观察者模式小马学嵌入式~7 小时前
数据结构:队列 二叉树Slaughter信仰8 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第二章知识点问答(21题)焊锡与代码齐飞8 小时前
嵌入式第三十五课!!Linux下的网络编程KeithTsui9 小时前
GCC C语言整数转换的理解(Understanding of Integer Conversions in C with GCC)秉承初心9 小时前
Node.js 开发 JavaScript SDK 包的完整指南(AI)