scala使用笔记
-
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) } } }
-
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")) } }
-
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)
}
}