私は下の問題にうんざりしています。助けてください?以下のインターフェースがあります
/**
* <T> Type of Timestamp. For ex: Date, long, Calendar etc
*
*/
public interface TimeStamp<T> extends Comparable<TimeStamp<T>>
{
/**
* Returns the timestamp.
* @return
*/
public T getTimeStamp();
}
そして、私のコードには2つのリストがあります:
List<FileTimeStamp> f = new ArrayList<FileTimeStamp>();
List<DefaultTimeStamp> t = new ArrayList<DefaultTimeStamp>();
TimeStamps を含む上記の 2 つのリストを取得し、それらをマージするメソッドを作成したいと考えています。元:
void merge(List<TimeStamp> l1, List<TimeStamp> l2)
{
l1.addAll(l2);
Collections.sort(l1);
}
しかし、上記はコンパイル時の警告を生成します。
void merge(List l1, List l2) T が型変数である
ジェネリック クラス TimeStamp の型引数がありませ
ん: T は、インターフェイス TimeStamp で宣言されたオブジェクトを拡張します
コンパイル時の警告なしで上記のメソッドを定義するにはどうすればよいですか? 私のものは何ですかvoid merge(List<TimeStamp<????>> l1, List<TimeStamp<????>> l2)
???? 左に?