拥有以下内容:
var jdt : JDateTime = null
try {
jdt = new JDateTime(timeString, "YYYY-MM-DD hh:mm:ss,mss")
} catch {
case e : Exception => return Option.empty
}
我希望jdt
为val
,因为它是一个常数值。有没有scala语法技巧可以在这里工作?例如,如果发生异常,请设置null
等。
答案 0 :(得分:9)
不是语法技巧,只是库使用:
import scala.util.Try
val jdt = Try(new JDateTime(timeString, "YYYY-MM-DD hh:mm:ss,mss")).toOption.orNull
尽管如此,我建议将其保留在Option
而不是null
。
答案 1 :(得分:2)
这也是允许的,因为try会产生结果:
val jdt =
try {
new JDateTime(timeString, "YYYY-MM-DD hh:mm:ss,mss")
} catch {
case e : Exception => return Option.empty
}
即使在java中我也可以用final做到这一点,因为我推迟设置变量,直到我必须:
final Date date;
try {
date = new SimpleDateFormat().parse("");
} catch (ParseException e) {
return null;
}