我需要創建一個基本上只包含時間戳列表的類。下面是TimeStamp
特點:Scala中的類型聲明
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
類型。
'TimeList'上的'T'是錯的? – sschaef
這就是問題:)基本上應該是我的TiemList類的聲明。 – Jatin
如果你將'T'降到'Comparable [T]'你的代碼工作正常。這個解決方案你不喜歡什麼? – sschaef