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
  }
}
相关推荐
007php00713 小时前
某游戏大厂 Java 面试题深度解析(四)
java·开发语言·python·面试·职场和发展·golang·php
Mr.Jessy13 小时前
Web APIs学习第一天:获取 DOM 对象
开发语言·前端·javascript·学习·html
午安~婉14 小时前
javaScript八股问题
开发语言·javascript·原型模式
想不明白的过度思考者14 小时前
Rust——异步递归深度指南:从问题到解决方案
开发语言·后端·rust
芝麻开门-新起点14 小时前
flutter 生命周期管理:从 Widget 到 State 的完整解析
开发语言·javascript·ecmascript
我先去打把游戏先15 小时前
ESP32开发指南(基于IDF):连接AWS,乐鑫官方esp-aws-iot-master例程实验、跑通
开发语言·笔记·单片机·物联网·学习·云计算·aws
逻极16 小时前
Rust数据类型(上):标量类型全解析
开发语言·后端·rust
Zhangzy@16 小时前
Rust 编译优化选项
android·开发语言·rust
百锦再16 小时前
第2章 第一个Rust程序
java·开发语言·后端·rust·eclipse·tomcat·hibernate
Zhangzy@16 小时前
Rust 中的注释与文档注释实践指南
开发语言·后端·rust