我正在处理的项目中有以下代码段:
我正在处理的项目中有以下代码段:
val ftr1: Future[Try[(Date, String)]] = Future {
if (someCondition) {
// some code
val amazonClient = Try[new com.amazonaws.services.s3.AmazonS3Client(...)]
amazonClient.map { c =>
// doing some stuff
(new Date, "SomeString")
}
} else {
// some code
Failure(new Exception)
}
}
Future.firstCompletedOf(Seq(ftr1, anotherFuture)) map {
case t: Try[(Date, String)] => {
t match {
case Success(r) => //do some things
case _ => //do some another things
}
case _ => //do some another things
}
因此,在编译过程中,我收到以下警告:
[warn] 非变量类型参数java.util.Date在类型模式java.util.Date,String)中未经检查,因为它被擦除
和
[warn] case t: (Date, String) => //do some things
实际上,我不理解这些警告意味着什么,以及如何重构代码以消除这些警告?