0

我需要创建一个基本上是只包含时间戳的列表的类。下面是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返回类型也是可比的。它可以是LongDate例如。上述特征的示例实现是:

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类型。

4

1 回答 1

3
class TimeList[T <: Comparable[T]] extends ArrayList[TimeStamp[T]]

编辑:鉴于您的评论,您可以这样做

class TimeList[T <: TimeStamp[_]] extends ArrayList[T]

但这种类型将更难使用。

于 2012-11-11T14:22:58.240 回答