下面的代码在第一种情况下触发
java.lang.ClassCastException: scala.Some cannot be cast to java.lang.String
。
为什么会这样?我认为
case (Some(min), Some(max))
是解压字符串的正确方法。而且minDate: Option[String]
当然应该保证我得到一个字符串...
def getDataframe(minDate: Option[String], maxDate: Option[String]): DataFrame = {
...
dataset = (minDate, maxDate) match {
case (Some(min), Some(max)) => dataset.filter(col("date").between(min, max))
case (Some(min), None) => dataset.filter(col("date") >= min)
case (None, Some(max)) => dataset.filter(col("date") < max)
case (None, None) => dataset
}
...