我需要创建一个基本上是只包含时间戳的列表的类。下面是TimeStamp特征:
trait TimeStamp[T <: Comparable[T]] extends Comparable[TimeStamp[T]]
{
def getTimeStamp:T;
def compareTo(to:TimeStamp[T]) =this.getTimeStamp.compareTo(to.getTimeStamp)
}
TimeStamp是可比的。并且getTimeStamp返回类型也是可比的。它可以是Long或Date例如。上述特征的示例实现是:
class FileTimeStamp(file:File) extends TimeStamp[Date]
{
val time:Long = file.lastModified();
val date:Date = new Date(time);
override def getTimeStamp:Date = date;
def getFile:File = file;
}
现在的问题是我想要一个TimeList没有参数的类。它只能TimeStamps添加到列表中。
class TimeList[T] extends ArrayList[TimeStamp[????]]
我的上面应该是什么????。理想情况下,我想要类似[T <: Comparable[T]]. 即a LongorDate或任何TimeStamp类型。