Posted on 2007-10-23 10:34
G_G 閱讀(542)
評論(0) 編輯 收藏 所屬分類:
hibernate
1.CollectionHelper 對List,Set,Map 包裝出不可修改的
public?final?class?CollectionHelper?{
????public?static?final?List?EMPTY_LIST?=?Collections.unmodifiableList(?new?ArrayList(0)?);
????public?static?final?Collection?EMPTY_COLLECTION?=?Collections.unmodifiableCollection(?new?ArrayList(0)?);
????public?static?final?Map?EMPTY_MAP?=?Collections.unmodifiableMap(?new?HashMap(0)?);
????private?CollectionHelper()?{}
}
??? 1.1 在Collections.unmodifiableList(...)是靜態內部類個構造方法
??? ?? 悟: 從上面看出是一個非常好的?
適配器 ????//1.Collections 中 new 出內部類
??? public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c) {
??? ??? return new UnmodifiableCollection<T>(c);
??? }
??? //2.內部類也繼承 Collection
??? static class UnmodifiableCollection<E> implements Collection<E>, Serializable {
??? private?static?final?long?serialVersionUID?=?1820017752578914078L;
????final?Collection<??extends?E>?c;
??? //3.很好適配 Collection 通過他把 add remove 等功能 封裝
????UnmodifiableCollection(Collection<??extends?E>?c)?{
????????????if?(c==null)
????????????????throw?new?NullPointerException();
????????????this.c?=?c;
????????}
??? ...............
2.大量使用內部類枚矩 ?如:
Mappings.PropertyReference?upr?=?(Mappings.PropertyReference)?iter.next();
////////////////////////////////////////////////
Mappings中
????static?final?class?PropertyReference?implements?Serializable?{
????????String?referencedClass;
????????String?propertyName;
????????boolean?unique;
????}
//感覺是可以更好的代碼編寫