オブジェクトの ArrayList があります。
ArrayList<Item> blog_titles = new ArrayList<Item>();
String (以下のコードのタイムスタンプ)として格納されている DateTime 値である datamembers の 1 つの降順で ArrayList を並べ替えます。
public class BlogItem implements Item, Comparable<BlogItem> {
public final String id;
public final String heading;
public final String summary;
public final String description;
public final String thumbnail;
public final String timestamp; // format:- 2013-02-05T13:18:56-06:00
public final String blog_link;
public BlogItem(String id, String heading, String summary, String description, String thumbnail, String timestamp, String blog_link) {
this.id = id;
this.heading = heading;
this.summary = summary;
this.description = description;
this.thumbnail = thumbnail;
this.timestamp = timestamp; // format:- 2013-02-05T13:18:56-06:00
this.blog_link = blog_link;
}
@Override
public int compareTo(BlogItem o) {
// TODO Auto-generated method stub
return this.timestamp.compareTo(o.timestamp);
}
}
Item は汎用インターフェースです:
public interface Item {
// TODO Auto-generated method stub
}
今、次のように ArrayList をソートしようとしているとき:
Collections.sort(blog_titles);
次のエラー メッセージが表示されます。
Bound mismatch: The generic method sort(List<T>) of type Collections is not applicable for the arguments (ArrayList<Item>). The inferred type Item is not a valid substitute for the bounded parameter <T extends Comparable<? super T>>
上記のエラーを修正するにはどうすればよいですか?この場合、これは ArrayList をソートする正しい方法ですか?