我想創建一個函數來檢查一個字符串是否是日期。但是,下面的函數得到了錯誤。found found java.util.Date但需要java.sql.Date?
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import java.sql._
import scala.util.{Success, Try}
def validateDate(date: String): Boolean = {
val df = new java.text.SimpleDateFormat("yyyyMMdd")
val test = Try[Date](df.parse(date))
test match {
case Success(_) => true
case _ => false
}
}
錯誤:
[error] C:\Users\user1\IdeaProjects\sqlServer\src\main\scala\main.scala:14: type mismatch; [error] found : java.util.Date [error] required: java.sql.Date [error] val test = Try[Date](df.parse(date)) [error] ^ [error] one error found [error] (compile:compileIncremental) Compilation failed [error] Total time: 2 s, completed May 17, 2017 1:19:33 PM
是否有一個更簡單的驗證一個字符串是否是沒有創建一個函數的日期呢?
該函數用於驗證命令行參數。
if (args.length != 2 || validateDate(args(0))) { .... }
您導入'java.sql._' - 所以'test'有型'嘗試[java.sql.date]' - 嘗試用'進口java.util.Date'更換該進口 –
我將需要Java.sql。所以我想我會需要完整的引用類型名稱。 – ca9163d9