我需要创建一个基本上只包含时间戳的列表。以下是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]]
之类的东西。即Long
或Date
或TimeStamp
类型的任何内容。
答案 0 :(得分:3)
class TimeList[T <: Comparable[T]] extends ArrayList[TimeStamp[T]]
编辑:鉴于你的评论,你可以做到
class TimeList[T <: TimeStamp[_]] extends ArrayList[T]
但这种类型将更难使用。