Scala测试

复制代码
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")

   }
 }*/
相关推荐
zhangyao94033013 小时前
关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
开发语言·javascript·excel
骑驴看星星a13 小时前
【Three.js--manual script】4.光照
android·开发语言·javascript
星释14 小时前
Rust 练习册 :Leap与日期计算
开发语言·后端·rust
悟能不能悟16 小时前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
循环过三天16 小时前
3.4、Python-集合
开发语言·笔记·python·学习·算法
_院长大人_17 小时前
设计模式-工厂模式
java·开发语言·设计模式
MATLAB代码顾问17 小时前
MATLAB实现决策树数值预测
开发语言·决策树·matlab
不染尘.19 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
似水এ᭄往昔19 小时前
【C++】--stack和queue
开发语言·c++
csbysj202019 小时前
R 绘图 - 散点图
开发语言