java.lang.ClassCastException: scala.Some 无法转换为 java.lang.String

问题描述 投票:0回答:0

下面的代码在第一种情况下触发

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
    }
    ...
scala apache-spark pattern-matching
© www.soinside.com 2019 - 2024. All rights reserved.