Scala的隐式转换(1)

复制代码
package hfd
//需求:
//完成一个功能,让所有的字符串都能调用isPhone方法,来校验自己是不是一个手机号
object Test37_1 {
  class StrongString(val str: String) {

    //开始你的代码
    def isPhone(): Boolean = {
      val reg = "1[3-9]\\d{9}".r
      reg.matches(str)
    }
  }
  //定义一个特殊的转换函数,把str===>StrongString的对象
  def tranform(str: String): StrongString = {
    new StrongString(str)

  }

  def main(args: Array[String]): Unit = {
    val str = "12345678"
    //  println(isPhone(str))
    // println(isPhone("abc"))
    println(tranform("abc").isPhone())
    // println((new StrongString(str)).isPhone())
    //    str.isPhone()//==>true
    //    "136a".isPhone()//==>false
  }
}
相关推荐
励志不掉头发的内向程序员2 分钟前
STL库——string(类模拟实现)
开发语言·c++
王廷胡_白嫖帝4 分钟前
Qt文件压缩工具项目开发教程
java·开发语言·qt
张飞洪24 分钟前
C# 13 与 .NET 9 跨平台开发实战:基于.NET 9 与 EF Core 9 的现代网站与服务开发
开发语言·c#·.net
郝学胜-神的一滴30 分钟前
使用C++11改进工厂方法模式:支持运行时配置的增强实现
开发语言·c++·程序人生·设计模式
我是场36 分钟前
Android14内核调试 - boot & vendor_boot
java·开发语言·spring boot
爱和冰阔落37 分钟前
从关机小游戏学 C 语言:分支循环 + 关键字(break/continue)实战
c语言·开发语言
Korloa1 小时前
表达式(CSP-J 2021-Expr)题目详解
c语言·开发语言·数据结构·c++·算法·蓝桥杯·个人开发
yodala1 小时前
C++中的内存管理(二)
开发语言·c++
屁股割了还要学1 小时前
【数据结构入门】排序算法:插入排序
c语言·开发语言·数据结构·算法·青少年编程·排序算法
1 小时前
JAVA-15 (2025.08.20学习记录)
java·开发语言·学习