锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲av日韩av综合,亚洲AV综合色区无码一二三区 ,666精品国产精品亚洲 http://www.tkk7.com/stevenjohn/category/54771.html閭d簺闈掓槬鐨勫瞾鏈?/description>zh-cnWed, 01 Apr 2015 13:04:38 GMTWed, 01 Apr 2015 13:04:38 GMT60ImmutableMap婧愮爜瑙f瀽http://www.tkk7.com/stevenjohn/archive/2015/01/08/422140.htmlabinabinThu, 08 Jan 2015 11:47:00 GMThttp://www.tkk7.com/stevenjohn/archive/2015/01/08/422140.htmlhttp://www.tkk7.com/stevenjohn/comments/422140.htmlhttp://www.tkk7.com/stevenjohn/archive/2015/01/08/422140.html#Feedback0http://www.tkk7.com/stevenjohn/comments/commentRss/422140.htmlhttp://www.tkk7.com/stevenjohn/services/trackbacks/422140.html棣栧厛浠嬬粛涓涓嬪熀鏈蹇碉紝浠涔堜簨immutable

浣曚負Immutable瀵硅薄錛?/strong>

綆鍗曞湴璇達紝濡傛灉涓涓璞″疄渚嬩笉鑳借鏇存敼灝辨槸涓涓狪mmutable鐨勫璞★紝Java SDK鎻愪緵鐨勫ぇ閲忓煎璞★紝姣斿String絳夐兘鏄疘mmutable鐨勫璞°?/p>

濡備綍浣垮璞mmutable錛?/strong>

鎸夌収Effective Java鐨勮鏄庯紝闇瑕佹弧瓚充笅闈㈠嚑鏉¤鍒欙細

  • 淇濊瘉綾諱笉鑳借緇ф壙 - 涓轟簡閬垮厤鍏剁戶鎵跨殑綾昏繘琛宮utable鐨勬搷浣?/li>
  • 縐昏皟鎵鏈塻etter/update絳変慨鏀瑰璞″疄渚嬬殑鎿嶄綔
  • 淇濊瘉鎵鏈夌殑field鏄痯rivate鍜宖inal鐨?/li>

涓嶅彲鍙樺璞★紙immutable objects錛夛紝鍚庨潰鏂囩珷鎴戝皢浣跨敤immutable objects鏉ヤ唬鏇夸笉鍙彉瀵硅薄錛?

閭d箞浠涔堟槸immutable objects?浠涔堝張鏄痬utable Objects鍛紵

immutable Objects灝辨槸閭d簺涓鏃﹁鍒涘緩錛屽畠浠殑鐘舵佸氨涓嶈兘琚敼鍙樼殑Objects錛屾瘡嬈″浠栦滑鐨勬敼鍙橀兘鏄駭鐢熶簡鏂扮殑immutable鐨勫璞★紝鑰宮utable Objects灝辨槸閭d簺鍒涘緩鍚庯紝鐘舵佸彲浠ヨ鏀瑰彉鐨凮bjects.

涓句釜渚嬪瓙錛歋tring鍜孲tringBuilder錛孲tring鏄痠mmutable鐨勶紝姣忔瀵逛簬String瀵硅薄鐨勪慨鏀歸兘灝嗕駭鐢熶竴涓柊鐨凷tring瀵硅薄錛岃屽師鏉ョ殑瀵硅薄淇濇寔涓嶅彉錛岃孲tringBuilder鏄痬utable錛屽洜涓烘瘡嬈″浜庡畠鐨勫璞$殑淇敼閮戒綔鐢ㄤ簬璇ュ璞℃湰韜紝騫舵病鏈変駭鐢熸柊鐨勫璞°?

浣嗘湁鐨勬椂鍊橲tring鐨刬mmutable鐗規т篃浼氬紩璧峰畨鍏ㄩ棶棰橈紝榪欏氨鏄?span style="color: #e53333;">瀵嗙爜搴旇瀛樻斁鍦ㄥ瓧絎︽暟緇勪腑鑰屼笉鏄疭tring涓?/a>鐨勫師鍥狅紒

immutable objects 姣斾紶緇熺殑mutable瀵硅薄鍦ㄥ綰跨▼搴旂敤涓洿鍏鋒湁浼樺娍錛屽畠涓嶄粎鑳藉淇濊瘉瀵硅薄鐨勭姸鎬佷笉琚敼鍙橈紝鑰屼笖榪樺彲浠ヤ笉浣跨敤閿佹満鍒跺氨鑳借鍏朵粬綰跨▼鍏變韓銆?

瀹為檯涓奐DK鏈韓灝辮嚜甯︿簡涓浜沬mmutable綾伙紝姣斿String錛孖nteger浠ュ強鍏朵粬鍖呰綾匯備負浠涔堣String鏄痠mmutable鐨勫憿錛熸瘮濡傦細java.lang.String 鐨則rim錛寀ppercase,substring絳夋柟娉曪紝瀹冧滑榪斿洖鐨勯兘鏄柊鐨凷tring瀵硅薄錛岃屽茍涓嶆槸鐩存帴淇敼鍘熸潵鐨勫璞°?

濡備綍鍦↗ava涓啓鍑篒mmutable鐨勭被錛?/span>

瑕佸啓鍑鴻繖鏍風殑綾伙紝闇瑕侀伒寰互涓嬪嚑涓師鍒欙細

1錛塱mmutable瀵硅薄鐨勭姸鎬佸湪鍒涘緩涔嬪悗灝變笉鑳藉彂鐢熸敼鍙橈紝浠諱綍瀵瑰畠鐨勬敼鍙橀兘搴旇浜х敓涓涓柊鐨勫璞°?/span>

2錛塈mmutable綾葷殑鎵鏈夌殑灞炴ч兘搴旇鏄痜inal鐨勩?/span>

3錛夊璞″繀欏昏姝g‘鐨勫垱寤猴紝姣斿錛氬璞″紩鐢ㄥ湪瀵硅薄鍒涘緩榪囩▼涓笉鑳芥硠闇?leak)銆?/span>

4錛夊璞″簲璇ユ槸final鐨勶紝浠ユ鏉ラ檺鍒跺瓙綾葷戶鎵跨埗綾伙紝浠ラ伩鍏嶅瓙綾繪敼鍙樹簡鐖剁被鐨刬mmutable鐗規с?/span>

5錛夊鏋滅被涓寘鍚玬utable綾誨璞★紝閭d箞榪斿洖緇欏鎴風鐨勬椂鍊欙紝榪斿洖璇ュ璞$殑涓涓嫹璐濓紝鑰屼笉鏄瀵硅薄鏈韓錛堣鏉″彲浠ュ綊涓虹涓鏉′腑鐨勪竴涓壒渚嬶級

褰撶劧涓嶅畬鍏ㄩ伒瀹堜笂闈㈢殑鍘熷垯涔熻兘澶熷垱寤篿mmutable鐨勭被錛屾瘮濡係tring鐨刪ashcode灝變笉鏄痜inal鐨勶紝浣嗗畠鑳戒繚璇佹瘡嬈¤皟鐢ㄥ畠鐨勫奸兘鏄竴鑷寸殑錛屾棤璁轟綘澶氬皯嬈¤綆楄繖涓鹼紝瀹冮兘鏄竴鑷寸殑錛屽洜涓鴻繖浜涘肩殑鏄氳繃璁$畻final鐨勫睘鎬у緱鏉ョ殑錛?


鏈夋椂鍊欎綘瑕佸疄鐜扮殑immutable綾諱腑鍙兘鍖呭惈mutable鐨勭被錛屾瘮濡俲ava.util.Date,灝界浣犲皢鍏惰緗垚浜唂inal鐨勶紝浣嗘槸瀹冪殑鍊艱繕鏄彲浠ヨ淇敼鐨勶紝涓轟簡閬垮厤榪欎釜闂錛屾垜浠緩璁繑鍥炵粰鐢ㄦ埛璇ュ璞$殑涓涓嫹璐濓紝榪欎篃鏄疛ava鐨勬渶浣沖疄璺典箣涓銆?br />浣跨敤Immutable綾葷殑濂藉錛?/span>
1錛塈mmutable瀵硅薄鏄嚎紼嬪畨鍏ㄧ殑錛屽彲浠ヤ笉鐢ㄨsynchronize灝卞湪騫跺彂鐜涓叡浜?/span>

2錛塈mmutable瀵硅薄綆鍖栦簡紼嬪簭寮鍙戯紝鍥犱負瀹冩棤闇浣跨敤棰濆鐨勯攣鏈哄埗灝卞彲浠ュ湪綰跨▼闂村叡浜?/span>

3錛塈mmutable瀵硅薄鎻愰珮浜嗙▼搴忕殑鎬ц兘錛屽洜涓哄畠鍑忓皯浜唖ynchroinzed鐨勪嬌鐢?/span>

4錛塈mmutable瀵硅薄鏄彲浠ヨ閲嶅浣跨敤鐨勶紝浣犲彲浠ュ皢瀹冧滑緙撳瓨璧鋒潵閲嶅浣跨敤錛屽氨鍍忓瓧絎︿覆瀛楅潰閲忓拰鏁村瀷鏁板瓧涓鏍楓備綘鍙互浣跨敤闈欐佸伐鍘傛柟娉曟潵鎻愪緵綾諱技浜巚alueOf錛堬級榪欐牱鐨勬柟娉曪紝瀹冨彲浠ヤ粠緙撳瓨涓繑鍥炰竴涓凡緇忓瓨鍦ㄧ殑Immutable瀵硅薄錛岃屼笉鏄噸鏂板垱寤轟竴涓?/span>

immutable涔熸湁涓涓己鐐瑰氨鏄細鍒墮犲ぇ閲忓瀮鍦撅紝鐢變簬浠栦滑涓嶈兘琚噸鐢ㄨ屼笖瀵逛簬瀹冧滑鐨勪嬌鐢ㄥ氨鏄?#8221;鐢?#8220;鐒跺悗”鎵?#8220;錛屽瓧絎︿覆灝辨槸涓涓吀鍨嬬殑渚嬪瓙錛屽畠浼氬垱閫犲緢澶氱殑鍨冨溇錛岀粰鍨冨溇鏀墮泦甯︽潵寰堝ぇ鐨勯夯鐑︺傚綋鐒惰繖鍙槸涓瀬绔殑渚嬪瓙錛屽悎鐞嗙殑浣跨敤immutable瀵硅薄浼氬垱閫犲緢澶х殑浠峰箋?



Guava鎻愪緵鐨処mmutableMap鏄竴涓敮鎸佸綰跨▼鐜涓嬮潰鐨勫畨鍏ㄧ殑Map錛屽悓鏃舵晥鐜囦篃鏄緢楂樼殑Key-Value闆嗗悎錛屼負浠涔堜粬灝辨槸瀹夊叏鐨勫憿銆?br />    鍏堢湅涓嬮潰渚嬪瓙錛?br />        ImmutableMap.Builder<String, Object> request = ImmutableMap.builder();
        request.put("one","1");
        request.put("two","2");
        request.put("three","3");
        Map<String, Object> map = request.build();
        
        璁╂垜浠鍏堜粠Builder<T,T>鍏ユ墜榪涜鍒嗘瀽

 public static class Builder<K, V> {
    TerminalEntry<K, V>[] entries;
    int size;


 public ImmutableMap<K, V> build() {
      switch (size) {
        case 0:
          return of();
        case 1:
          return of(entries[0].getKey(), entries[0].getValue());
        default:
          return new RegularImmutableMap<K, V>(size, entries);
      }
    }

}

涓婇潰鐨?br /> ImmutableMap.Builder<String, Object> request = ImmutableMap.builder();
榪欎釜瀹炰緥鍒涘緩鐨勬椂鍊欙紝鍙槸鍒涘緩浜嗕竴涓┖鐨勫璞°?br />閭d箞瀹為檯鏁堢敤鐨勬槸build()
  @SuppressWarnings("unchecked")
    Builder(int initialCapacity) {
      this.entries = new TerminalEntry[initialCapacity];
      this.size = 0;
    }


























         




abin 2015-01-08 19:47 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 狠狠色香婷婷久久亚洲精品| av大片在线无码免费| 亚洲人成电影网站免费| 亚洲人成网址在线观看 | va天堂va亚洲va影视中文字幕| 中文字幕亚洲不卡在线亚瑟| 免费黄色一级毛片| 男女做羞羞的事视频免费观看无遮挡| 91成人免费观看在线观看| 美女羞羞喷液视频免费| 亚洲 欧洲 日韩 综合在线| 亚洲美女视频免费| 亚洲影院在线观看| 久久精品国产精品亚洲艾草网| 国产亚洲精品自在线观看| 亚洲高清免费视频| 免费国产成人午夜私人影视 | 亚洲欧洲日韩在线电影| 国产V亚洲V天堂A无码| 亚洲一区二区三区无码影院| 免费a级毛片永久免费| 国产免费人人看大香伊| 日本免费一区二区三区最新vr| 午夜dj在线观看免费视频| 成年美女黄网站色大免费视频| 国产无人区码卡二卡三卡免费| 久久久久久久免费视频| 无人在线直播免费观看| 久久久www成人免费毛片| 成年女人看片免费视频播放器| 国产精品成人免费视频网站京东| 日本妇人成熟免费中文字幕| 国产在线观看片a免费观看 | 亚洲日本久久久午夜精品| 亚洲国产成人99精品激情在线| 亚洲伦理中文字幕| 亚洲熟妇无码av另类vr影视| 亚洲乱妇熟女爽到高潮的片| 国产成人va亚洲电影| 乱爱性全过程免费视频| 99久久婷婷免费国产综合精品|