Scala中的类型声明

Scala中的类型声明,scala,generics,types,Scala,Generics,Types,我需要创建一个类,它基本上是一个只包含时间戳的列表。以下是时间戳特征: trait TimeStamp[T <: Comparable[T]] extends Comparable[TimeStamp[T]] { def getTimeStamp:T; def compareTo(to:TimeStamp[T]) =this.getTimeStamp.compareTo(to.getTimeStamp) } 现在的问题是我想要一个名为TimeList的类,没有参数。只能将时间戳添加到列

我需要创建一个类,它基本上是一个只包含时间戳的列表。以下是
时间戳
特征:

trait TimeStamp[T <: Comparable[T]] extends Comparable[TimeStamp[T]]
{
def getTimeStamp:T;
def compareTo(to:TimeStamp[T]) =this.getTimeStamp.compareTo(to.getTimeStamp) 
}
现在的问题是我想要一个名为
TimeList
的类,没有参数。只能将
时间戳
添加到列表中

class TimeList[T] extends ArrayList[TimeStamp[????]]

上面我的
应该是什么。理想情况下,我希望类似于
[T
类时间列表[T
类时间列表[T
T
T
时间列表是错误的吗?这是一个问题:)基本上我的TiemList类声明应该如何。如果你将
T
下限设为
可比[T]
您的代码工作正常。您不喜欢此解决方案的哪些方面?我需要提及类型。我希望用户编写val j:TimeList[FileTimeStamp],而不是val j:TimeList[Date]
TimeList
上的
T
是错误的?这就是问题:)基本上我的TiemList类声明应该如何。如果你将
T
下限为
Comparable[T]
你的代码工作得很好。你不喜欢这个解决方案吗?我需要提到类型。我希望用户编写val j:TimeList[FileTimeStamp]与val j:TimeList[Date]不同,我需要提及类型。我希望用户编写val j:TimeList[FileTimeStamp]而不是val j:TimeList[Date]。使用上述解决方案,我必须将其声明为TimeList[Date],然后我需要提及类型。我希望用户编写val j:TimeList[FileTimeStamp]而不是val j:TimeList[Date].有了上述解决方案,我将不得不将其声明为时间列表[日期]
class TimeList[T] extends ArrayList[TimeStamp[????]]
class TimeList[T <: Comparable[T]] extends ArrayList[TimeStamp[T]]
class TimeList[T <: TimeStamp[_]] extends ArrayList[T]