1.case class的定义
case class ProductLog(productId:Long,actionType:Int,opTypes:String,productName:String)
2.buffer和match
val index = 10
index match {
case -1 => None
case _=>
val buffer = scala.collection.mutable.ArrayBuffer.empty[(String,String,String)]
buffer += ((1,2,3))
}
Option(buffer)
}
3.try-catch
try{
val buffer = scala.collection.mutable.ArrayBuffer.empty[(String,String,String)]
buffer +=Some(静态方法,返回vo,该方法返回值可以是null)
buffer
}catch{
case e:Exception =>log.error("error:"+row.toSeq.mkString(","))
None
}
.filter( !_.isEmpty).map(_.get).filter( _ !=null).cache() //先过滤none,再过滤null
4.null的初始化
var tagTagVo : TagVo =null.asInstanceOf[TagVo]
或者 var tagTagVo : TagVo = _ 此场景不允许出现在局部变量中,会报错。