scala使用记录

scala使用笔记

  1. scala自定义异常<br />

    在scala中,可以创建自己的异常。它也称为自定义异常。通过扩展Exception类,同时声明自定义异常类。在自定义类中创建自己的异常消息。下面我们来看一个例子。

    class InvalidAgeException(s:String) extends Exception(s){}  
    class ExceptionExample{  
        @throws(classOf[InvalidAgeException])  
        def validate(age:Int){  
            if(age<18){  
                throw new InvalidAgeException("Not eligible")  
            }else{  
                println("You are eligible")  
            }  
        }  
    }  
    object Demo{  
        def main(args:Array[String]){  
            var e = new ExceptionExample()  
            try{  
                e.validate(5)  
            }catch{  
                case e : Exception => println("Exception Occured : "+e)  
            }  
        }  
    }
    
  2. Scala枚举

    object EnumTest {
      /***
        * 定义一个星期的枚举
        */
      object WeekDay extends Enumeration{
        type WeekDay = Value  //声明枚举对外暴露的变量类型
        val Mon = Value("mon")
        val Tue = Value("tue")
        val Wed = Value("wed")
        val Thu = Value("thu")
        val Fri = Value("fri")
        val Sat = Value("sta")
        val Sun = Value("sun")
    //    def checkExists(day:String) = this.values.exists(_.toString==day) //检测是否存在此枚举值
    //    def isWorkingDay(day:WeekDay) = ! ( day==Sat || day == Sun) //判断是否是工作日
    //    def showAll = this.values.foreach(println) // 打印所有的枚举值
      }
      def getIndex(name: String): Int = {
        for (c <- WeekDay.values) {
          if (c.toString==name){
            return c.id
          }
        }
        1
      }
      def main(args: Array[String]): Unit = {
        print(getIndex("sun"))
      }
    }
    

    or

    object Main {
      object WeekDay extends Enumeration {
        type WeekDay = Value//这里仅仅是为了将Enumration.Value的类型暴露出来给外界使用而已
        val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value//在这里定义具体的枚举实例
      }
      import WeekDay._
    
      def isWorkingDay(d: WeekDay) = ! (d == Sat || d == Sun)
    
    //  WeekDay.values filter isWorkingDay foreach println//使用语法糖进行输出
      def getIndex(name: String): Int = {
        for (c <- WeekDay.values) {
          if (c.toString==name){
            return c.id
          }
        }
        1
      }
      def main(args: Array[String]): Unit = {
        print(getIndex("Sun"))
      }
    }
    
  3. scala日期格式转换时间戳

object Main {

  def main(args: Array[String]): Unit = {
    var str= " 2019-05-30T09:01:01+0800"
    var time = str.trim.replace("T", " ")
    println(time.getClass.getSimpleName)
    import java.text.SimpleDateFormat
    var time1 = time.split("\\+")(0).replace("-","/")
    println(time1)
    var time2 = new Date(time1)
    println(time2.getTime/1000)
  }
}

转载于:https://my.oschina.net/112612/blog/3056688

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值