Ich versuche, eine Funktion zu erstellen, um zu überprüfen, ob eine Zeichenfolge ein Datum ist. Die folgende Funktion hat jedoch den Fehler erhalten.java.util.Date gefunden aber java.sql.Date benötigt?
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
}
}
Fehler:
[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
Gibt es einen einfacheren Weg, zu überprüfen, ob ein String ist ein Datum, ohne eine Funktion erstellen?
Die Funktion wird verwendet, um das Befehlszeilenargument zu validieren.
if (args.length != 2 || validateDate(args(0))) { .... }
Sie 'java.sql._' importiert - so' test' den Typ hat 'Versuche [java.sql.date]' - versuchen, die Einfuhr mit 'Import java.util.Date' ersetzen –
Ich brauche Java.sql. also denke ich, dass ich den vollständigen zitierten Namen brauche. – ca9163d9