锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲小说区图片区另类春色,亚洲av无码电影网,亚洲黄色在线播放http://www.tkk7.com/youthyflyer/category/978.html鍦‥clipse鐨勬搗媧嬩腑涓鍙f帴涓鍙g殑鍠濇按~~zh-cnWed, 28 Feb 2007 03:46:06 GMTWed, 28 Feb 2007 03:46:06 GMT60[杞澆][緲昏瘧]IAdaptable鏄粈涔堬紵 http://www.tkk7.com/youthyflyer/articles/19934.htmlyouthyflyeryouthyflyerTue, 15 Nov 2005 10:14:00 GMThttp://www.tkk7.com/youthyflyer/articles/19934.htmlhttp://www.tkk7.com/youthyflyer/comments/19934.htmlhttp://www.tkk7.com/youthyflyer/articles/19934.html#Feedback0http://www.tkk7.com/youthyflyer/comments/commentRss/19934.htmlhttp://www.tkk7.com/youthyflyer/services/trackbacks/19934.html

杞澆鍦板潃錛?A >http://bjzhanghao.cnblogs.com/archive/2005/09/24/243312.html

鍘熸枃鍦板潃錛?A >http://www.eclipsezone.com/articles/what-is-iadaptable/

IAdaptable鍦‥clipse閲屾槸涓涓潪甯擱噸瑕佺殑鎺ュ彛銆傚浜嶦clipse寮鍙戣佹墜鏉ヨ錛屽畠灝卞儚寮傚父澶勭悊鍜屾娊璞$被涓鏍峰甯革紱浣嗘槸瀵規柊鎵嬭岃█錛屽畠鍗翠護浜烘劅鍒板洶鎯戝拰鐣忔儳銆傝繖綃囨枃绔犲皢鍚戜綘瑙i噴IAdaptable鍒板簳鏄粈涔堬紝浠ュ強瀹冨湪Eclipse閲岃搗鍒扮殑浣滅敤銆?/P>

綾誨瀷杞崲

Java鏄墍璋撶殑寮虹被鍨嬭璦錛屼篃灝辨槸璇達紝姣忎釜瀹炰緥閮藉搴斾竴涓被鍨嬨傚叾瀹炵被鍨嬪垎涓轟袱縐嶏細澹版槑綾誨瀷鍜岃繍琛屾椂綾誨瀷錛堜篃鍒嗗埆琚О涓洪潤鎬佺被鍨嬪拰鍔ㄦ佺被鍨嬶級銆傚儚Python榪欐牱鐨勫急綾誨瀷璇█甯歌縐頒負鏃犵被鍨嬬殑璇█錛屽叾瀹炰弗鏍艱鏉ヤ笉鏄繖鏍鳳紝鍥犱負姣忎釜瀹炰緥閮藉搴斾竴涓繍琛屾椂綾誨瀷錛屽彧鏄綘騫朵笉闇瑕佸0鏄庤繖涓鐐硅屽凡銆?/P>

鐜板湪鍥炲埌Java錛屼負浜嗚兘澶熸墽琛屼竴涓被鐨勬煇涓柟娉曪紝榪欎釜鏂規硶蹇呴』鍦ㄥ0鏄庣被鍨嬩腑鍙錛屾崲鍙ヨ瘽璇達紝鍗充嬌鍦ㄨ繍琛屾椂瀹炰緥鏄煇涓瓙綾誨瀷錛屼綘涔熷彧鑳芥墽琛岄偅浜涚埗綾誨瀷閲屽畾涔夌殑鏂規硶銆?/P>

List list = new ArrayList();
list.add(
"data");       // 姝g‘錛宎dd鏄疞ist閲屽畾涔夌殑鏂規硶
list.ensureCapacity(4); // 涓嶆紜紝ensureCapacity()鍙湪ArrayList琚畾涔?

濡傛灉涓瀹氳鎵ц鐗瑰畾綾誨瀷鐨勬柟娉曪紝鎴戜滑蹇呴』鍏堝己鍒惰漿鎹㈣繖涓疄渚嬪埌姝g‘鐨勭被鍨嬨傚浜庝笂闈㈢殑渚嬪瓙錛屾垜浠彲浠ュ皢list杞崲涓篈rrayList錛堣瘧娉細鍘熸枃In this case, we can cast ArrayList to List錛屾鐤戞槸絎旇錛夛紝鍥犱負ArrayList瀹炵幇浜哃ist鎺ュ彛錛屼綘鐢氳嚦鍙互鍦ㄨ繍琛屾椂閫氳繃instanceof鍏抽敭瀛楁楠宭ist鏄惁涓篈rrayList鐨勪竴涓疄渚嬨?/P>

鍙墿灞曠殑鎺ュ彛

涓嶅垢鐨勬槸錛屼竴涓被鍙兘騫舵病鏈夊疄鐜頒綘闇瑕佺殑鎺ュ彛錛岃繖鏍峰氨鏃犳硶榪涜寮哄埗綾誨瀷杞崲浜嗐傚師鍥犳湁寰堝錛屾瘮濡傚彧鍦ㄥ皯鏁版儏鍐典笅鎵嶉渶瑕佽繖涓帴鍙o紝鎴栬呬綘闇瑕佺殑鎺ュ彛鏄湪鍙︿竴涓笉鐩稿叧鐨勫簱閲岋紝鍙堟垨鑰呮帴鍙f槸鏈変簡綾諱互鍚庢墠寮鍙戝嚭鏉ョ殑錛岀瓑絳夈?/P>

榪欐椂浣犲氨闇瑕両Adaptable浜嗐傚彲浠ユ妸IAdaptable鎯寵薄涓轟竴涓兘澶熷姩鎬佽繘琛岀被鍨嬭漿鎹㈢殑閫斿緞銆傚姣斾笅闈㈢殑鐩存帴綾誨瀷杞崲錛?/P>

Object o = new ArrayList();
List list 
= (List)o;

鎹竴縐嶆柟寮忥紝鎴戜滑鍙互榪欐牱鍋氾細

IAdaptable adaptable = new ArrayList();//璇戞敞錛氳繖閲岀殑ArrayList搴旇涓嶆槸鎸噅ava.util.ArrayList
List list = (List)adaptable.getAdapter(java.util.List.class);

榪欏氨鏄笂闈㈡墍璇寸殑鍔ㄦ佺被鍨嬭漿鎹紝鎴戜滑鎵鍋氱殑浜嬫儏鏄瘯鍥炬妸adaptable杞崲涓轟竴涓狶ist瀹炰緥銆?/P>

閭d箞錛屽綋鍙互鐩存帴杞崲鐨勬椂鍊欎負浠涔堣璐硅繖涓姏姘旈氳繃getAdapter()鏉ヨ漿鎹㈠憿錛熷叾瀹炶繖縐嶆満鍒跺彲浠ヨ鎴戜滑灝嗙洰鏍囩被杞崲涓哄畠騫舵病鏈夊疄鐜扮殑鎺ュ彛銆備婦涓緥瀛愶紝鎴戜滑鍙兘鎯蟲妸涓涓狧ashMap褰撲綔List鏉ョ敤錛屽敖綆¤繖涓や釜綾葷殑鎬ц川騫朵笉鐩稿悓錛屽彲浠ヨ繖涔堝仛錛?/P>

IAdaptable adaptable = new HashMap();//璇戞敞錛氳繖閲岀殑HashMap搴旇涓嶆槸鎸噅ava.util.HashMap
List list = (List)adaptable.getAdapter(java.util.List.class);

瀹炵幇IAdaptable鎺ュ彛

澶ч儴鍒咺Adaptable鐨勫疄鐜版槸涓浜沬f璇彞鐨勫彔鍔狅紝姣斿鎴戜滑鐜板湪瑕佸疄鐜癏ashMap鐨刧etAdapter()鏂規硶錛屽畠鐪嬭搗鏉ュ彲鑳芥槸榪欐牱錛?/P>

public class HashMap implements IAdaptable {
  
public Object getAdapter(Class clazz) {
    
if (clazz == java.util.List.class{
      List list 
= new ArrayList(this.size());
      list.addAll(
this.values());
      
return list;
    }

    
return null;
  }

  
// 
}

鎵鍋氱殑灝辨槸榪斿洖涓涓傞厤鍣紙adapter錛屾洿紜垏鐨勮鏄竴涓壇鏈級錛岃屼笉鏄繘琛岀洿鎺ョ殑綾誨瀷杞崲銆傚鏋滃弬鏁扮被鍨嬫病鏈夎鏀寔錛屾儻渚嬫槸榪斿洖null鍊鹼紙鑰岄潪鎶涘嚭寮傚父錛夛紝浠h〃榪欎釜鏂規硶澶辮觸浜嗐傚洜姝わ紝鍦ㄨ皟鐢ㄨ繖涓柟娉曟椂錛屼笉搴旇鍋囧畾瀹冩繪槸榪斿洖闈瀗ull鍊箋?/P>

PlatformObject

褰撶劧錛屽鏋滀綘甯屾湜澧炲姞涓涓柊鐨勮鏀寔鐨刟dapter綾誨瀷鏃跺繀欏葷紪杈戣繖涓被鎵嶈錛堣瘧娉細鍦╣etAdapter()閲屽鍔犳洿澶氱殑if璇彞錛夛紝榪欎細姣旇緝杈涜嫤銆傝屼笖錛屾棦鐒朵綘宸茬粡鐭ラ亾浜嗚繖涓被鍨嬶紝浣曚笉鐩存帴淇敼鎺ュ彛澹版槑鍛紵鍏跺疄鏈夊緢澶氬師鍥犱嬌寰椾綘騫朵笉甯屾湜鐩存帴緙栬緫榪欎釜綾伙紙渚嬪鏇村鏄撲繚鎸佸悜涓嬪吋瀹規э級錛屼篃涓嶆兂鏀瑰彉瀹冪殑綾誨瀷錛圚ashMap铏界劧涓嶆槸涓涓狶ist錛屼絾鍙互杞崲榪囧幓錛夈?/P>

Eclipse閫氳繃PlatformObject鎶借薄綾繪潵瑙e喅浠ヤ笂闂錛屽畠涓轟綘瀹炵幇浜咺Adaptable鎺ュ彛錛孍clipse騫沖彴錛圥latform錛夋彁渚涗簡IAdapterManager鐨勪竴涓疄鐜幫紝騫朵笖鍙互閫氳繃Platform.getAdapterManager()璁塊棶鍒幫紝瀹冩妸鎵鏈夊getAdapter()鐨勮姹傦紙璋冪敤錛夊鎵樼粰涓涓悕涓篒AdapterManager鐨勪笢瑗褲備綘鍙互灝嗗畠鎯寵薄涓轟竴涓法澶х殑淇濆瓨鐫綾誨拰adapter淇℃伅鐨凪ap錛岃孭latformObject鐨刧etAdapter()鏂規硶浼氭煡鎵捐繖涓狹ap銆?/P>

閫傞厤宸插瓨鍦ㄧ殑綾?/H3>

榪欐牱錛孭latformObject涓嶉渶瑕侀噸鏂扮紪璇戝氨鑳藉鏀寔鏂扮殑adapter綾誨瀷錛岃繖涓鐐瑰湪Eclipse閲岃澶ч噺浣跨敤浠ユ敮鎸亀orkspace鐨勬墿灞曠偣銆?/P>

鐜板湪鍋囪鎴戜滑鎯寵灝嗕竴涓彧鍖呭惈String綾誨瀷鍏冪礌鐨凩ist杞崲涓轟竴涓猉Ml鑺傜偣錛岃繖涓妭鐐圭殑鏍煎紡濡備笅錛?/P>

<List>
  
<Entry>First String</Entry>
  
<Entry>Second String</Entry>
  
<Entry>Third String</Entry>
</List>

鍥犱負toString()鏂規硶鍙兘鏈夊叾浠栫敤閫旓紝鎴戜滑涓嶈兘閫氳繃瑕嗙洊toString()鏂規硶鏉ュ疄鐜拌繖涓姛鑳姐傛墍浠ワ紝鎴戜滑瑕佺粰List鍏寵仈涓涓伐鍘傜被浠ュ鐞哫ML鑺傜偣綾誨瀷鐨勯傞厤璇鋒眰銆傝綆$悊宸ュ巶綾婚渶瑕佷互涓嬩笁涓楠わ細

1銆佺敱List鐢熸垚涓涓狽ode錛屾垜浠妸榪欎釜杞崲榪囩▼鐢↖AdapterFactory鍖呰璧鋒潵錛?/P>

import nu.xom.*;
public class NodeListFactory implements IAdapterFactory {
  
/* 鍙互杞崲鍒扮殑綾誨瀷 */
  
private static final Class[] types = {
    Node.
class,
  }
;
  
public Class[] getAdapterList() {
    
return types;
  }

  
/* 杞崲鍒癗ode鐨勫姛鑳戒唬鐮?nbsp;*/
  
public Object getAdapter(Object list, Class clazz) {
    
if (clazz == Node.class && list instanceof List) {
      Element root 
= new Element("List");
      Iterator it 
= list.iterator();
      
while(it.hasNext()) {
        Element item 
= new Element("Entry");
        item.appendChild(it.next().toString());
        root.appendChild(item);
      }

      
return root;
    }
 else {
      
return null;
    }

  }

}

2銆佹妸榪欎釜宸ュ巶綾繪敞鍐屽埌Platform鐨凙dapterManager錛岃繖鏍峰綋鎴戜滑甯屾湜浠嶭ist鐨勫疄渚嬩腑鑾峰緱涓涓狽ode瀹炰緥鏃訛紝灝變細鎵懼埌鎴戜滑鐨勫伐鍘傜被銆傛敞鍐屼竴涓伐鍘傜被鐨勬柟寮忎篃寰堢畝鍗曪細

Platform.getAdapterManager().registerAdapters(
  
new NodeListFactory(), List.class
);

榪欐潯璇彞灝哊odeListFactory鍏寵仈鍒癓ist綾誨瀷銆傚綋浠嶭ist閲岃姹俛dapter鏃訛紝Platform鐨凙dapterManager浼氭壘鍒癗odeListFactory錛屽洜涓哄湪鍚庤呯殑getAdapterList()鏂規硶鐨勮繑鍥炵粨鏋滈噷鍖呭惈浜哊ode綾伙紝鎵浠ュ畠鐭ラ亾浠嶭ist瀹炰緥寰楀埌涓涓狽ode瀹炰緥鏄彲琛岀殑銆傚湪Eclipse閲岋紝榪欎釜娉ㄥ唽姝ラ涓鑸槸鍦╬lugin鍚姩鏃跺畬鎴愮殑錛屼絾涔熷彲浠ラ氳繃org.eclipse.core.runtime.adapters鎵╁睍鐐規潵瀹屾垚銆?/P>

3銆佷粠List鑾峰緱Node錛屼笅闈㈡槸渚嬪瓙浠g爜:

Node getNodeFrom(IAdaptable list) {
  Object adaptable 
= list.getAdapter(Node.class);
  
if (adaptable != null{
    Node node 
= (Node)adaptable;
    
return node;
  }

  
return null;
}

鎬葷粨

緇間笂鎵榪幫紝瑕佸湪榪愯鏃朵負涓涓凡鏈夌殑綾誨鍔犲姛鑳斤紝鎵瑕佸仛鐨勫彧鏄畾涔変竴涓敤鏉ヨ漿鎹㈢殑宸ュ巶綾伙紝鐒跺悗鎶婂畠娉ㄥ唽鍒癙latform鐨凙dapterManager鍗沖彲銆傝繖縐嶆柟寮忓湪淇濇寔UI緇勪歡鍜岄潪UI緇勪歡鐨勫垎紱繪柟闈㈢壒鍒湁鐢ㄣ備緥濡傚湪org.rcpapps.rcpnews.ui鍜宱rg.rcpapps.rcpnews榪欎袱涓猵lugin閲岋紝鍓嶈呯殑IPropertySource闇瑕佷笌鍚庤呯殑鏁版嵁瀵硅薄錛坉ata object錛夌浉鍏寵仈錛屽綋鍓嶈呭垵濮嬪寲鏃訛紝瀹冨皢IPropertySource娉ㄥ唽鍒癙latform錛屽綋鏁版嵁瀵硅薄鍦ㄥ鑸櫒錛坣avigator錛夐噷琚変腑鐨勬椂鍊欙紝灞炴ц鍥鵑噷灝變細鏄劇ず姝g‘鐨勫睘鎬с?/P>

鏄劇劧錛宩ava.util.List騫朵笉鏄疨latformObject鐨勫瓙綾伙紝鎵浠ュ鏋滀綘甯屾湜鑳藉緙栬瘧榪欓噷鎵璇寸殑渚嬪瓙錛屽繀欏誨緩绔嬩竴涓狶ist鐨勫瓙綾誨瀷銆傛敞鎰忥紝鍙互鐩存帴瀹炵幇IAdaptable鎺ュ彛錛岃岄潪蹇呴』緇ф壙PlatformObject鎶借薄綾匯?/P>

public class AdaptableList implements IAdaptable, List {
  
public Object getAdapter(Class adapter) {
     
return Platform.getAdapterManager().getAdapter(this, adapter);
  }

  
private List delegate = new ArrayList();
  
public int size() {
    
return delegate.size();
  }

  
// 
}

鏈鍚庯紝渚嬪瓙閲岀敓鎴怷ML鐨勯儴鍒嗕嬌鐢ㄤ簡XOM鐨勭被搴?



youthyflyer 2005-11-15 18:14 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 在线a亚洲老鸭窝天堂av高清| 在线免费观看亚洲| 亚洲av日韩专区在线观看| 亚洲免费一级视频| 亚洲视频在线一区二区三区| 免费国产黄网站在线观看视频| 亚洲av中文无码乱人伦在线r▽| 女同免费毛片在线播放| 午夜亚洲AV日韩AV无码大全| 99爱在线精品视频免费观看9| 亚洲精品国产福利在线观看| 99久久99热精品免费观看国产| 亚洲一区二区三区首页| 国产成人免费午夜在线观看| 亚洲avav天堂av在线网爱情| 青青青青青青久久久免费观看| 日日摸日日碰夜夜爽亚洲| 亚洲成A人片77777国产| 特级做A爰片毛片免费看无码 | 亚洲综合在线成人一区| 91精品国产免费入口| 激情五月亚洲色图| 免费国产成人午夜电影| 中文字幕免费在线播放| 亚洲黄色网站视频| 四虎影视www四虎免费| 日韩精品无码永久免费网站| 亚洲精品亚洲人成人网| 91精品免费久久久久久久久| 亚洲乱码无人区卡1卡2卡3| 亚洲成A人片在线观看无码3D | 国产成人精品免费视频网页大全 | 亚洲国产第一站精品蜜芽| 最近中文字幕2019高清免费| 亚洲中文字幕无码av| 久久亚洲AV无码西西人体| 18禁成人网站免费观看| 曰批免费视频播放在线看片二| 亚洲国产第一站精品蜜芽| 午夜免费福利影院| 国产成人无码区免费内射一片色欲|