我如何使以下类别不可变?

我知道我需要使Date不可变,但是,我不确定还需要修改其他内容以确保该类不可变。该类及其方法已声明为final。

public final class Journal {
       private final Set<Article> edition;
       private final Date pubDate;

public Journal(Article [] contents, Date d) {
       edition = new TreeSet<Article>();
       for(int i=0; i <contents.length; i++)
       edition.add(contents[i]);

       pubDate = d;
}

public Set<Article> getArticles() {
       return 
       Collections.unmodifiableSortedSet(edition);
}

public Date getDate() 
{ return pubDate; }
}
评论