static class Info implements Comparable {
private URL url;
private String title;
private Date date;
Info(URL url, String title, Date date) {
this.url = url;
this.title = title;
this.date = date;
}
public int compareTo(Object o) {
if (date == null) if (((Info)o).getDate() == null) return 0; else return 1;
return (((Info)o).getDate() == null) ? -1 : date.compareTo(((Info)o).getDate());
}
public URL getUrl() { return url; }
public String getTitle() { return title; }
public Date getDate() { return date; }
}
}
バージョン1.5で-source 1.4を使ってコンパイルして確認したので、もし駄目なら適当に直してくれ。
Infoがstaticなのはmainから呼んでいるためなのでRSSReaderのインスタンスを作ってそこから参照するならstaticは不要。
エラーハンドリングちょーてきとーなので、URLからのデータ取得で時間切れとかでも途中でプログラムが止まる。
テストするなら最初のうちはローカルファイルに落としたRSSファイル群に対して行った方がよいかもしれぬ。
あまりテストしていないので扱えないRSSとかあるのかもしれず。

もし、課題が一つのRSS内のitemの更新日時のソートであるのなら、
ChannelIF#getItems()でItemのCollectionを取得して各要素に対してItemIF#getDate()で日付を取得するがよかろう。
課題の意図がつかめないので、もしXMLの扱いとかの練習であったのなら地道にRSSのパーザを書くしかないが。