基本的にタイムスタンプのみを含むリストであるクラスを作成する必要があります。以下はその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
タイプです。