¡¡¡
½»»¥²Ù×÷ÐÔ£¨Interoperability£©
¡¡¡¡
ÔÚ±¾¿Î³ÌÖУ¬Ä㽫ѧϰÁ½¸ö·½ÃæµÄ½»»¥²Ù×÷ÐÔ:
¡¡
¡¡¼æÈÝÐÔ
¡¡¡¡±¾¿Î³Ì½«ÏòÄãÑÝʾÈçºÎʹ¶ÔÏó¼¯ÓëÏÈÓÚ¶ÔÏó¼¯Ìí¼Óµ½Javaƽ̨ÉϵľɵÄAPIÒ»Æð¹¤×÷¡£
¡¡¡¡
API Éè¼Æ
¡¡¡¡½Ì¸øÄãÈçºÎÉè¼ÆÒ»¸öÐ嵀 API£¬Ê¹ËüÃÇÖ®¼ä¿ÉÎÞ·ì½»»¥²Ù×÷¡£
¡¡
¡¡¼æÈÝÐÔ
¡¡¡¡Éè¼ÆCollection Framework ÊÇΪÁ˱£Ö¤ÔÚÐ嵀 ¶ÔÏó¼¯ ½Ó¿Ú ºÍ´«Í³µÄ±»ÓÃÀ´±íʾ ¶ÔÏó¼¯ µÄÀàÐÍÖ®¼äµÄÍêÈ«µÄ½»»¥²Ù×÷ÐÔ: Vector,
Hashtable, array, ºÍEnumeration¡£ÔÚ±¾½ÚÖУ¬Ä㽫ѧϰÈçºÎ½«´«Í³µÄ ¶ÔÏó¼¯ ×ª»»ÎªÐµĶÔÏó¼¯ÒÔ¼°Ïà·´µÄ¹ý³Ì¡£
¡¡¡¡ÏòÉϼæÈÝÐÔ
¡¡¡¡¼ÙÉèÄãҪʹÓÃÒ»¸ö½«·µ»Ø´«Í³ ¶ÔÏó¼¯ µÄ API£¬Í¬Ê±»¹ÒªÊ¹ÓÃÁíÒ»¸öAPI£¬Õâ¸öAPIÒªÇó¶ÔÏóʵÏÖJDK1.2µÄ¶ÔÏ󼯽ӿڡ£ÎªÊ¹ÕâÁ½¸öAPI¿ÉÒÔÆ½»¬µØ½»»¥²Ù×÷£¬Äã±ØÐ뽫´«Í³µÄ
¶ÔÏó¼¯ ×ª»¯ÎªÐ嵀 ¶ÔÏ󼯡£ÐÒÔ˵ÄÊÇ£¬Collection Framework ʹÕâ¸ö¹¤×÷±äµÃÊ®·Ö¼òµ¥¡£
¡¡¡¡¼ÙÉè¾ÉµÄAPI ·µ»ØÒ»¸ö¶ÔÏóÊý×飬¶øÐµÄAPIÐèÒªÒ»¸ö Collection¡£ÕýÏóÔÚ ÊµÏֿγÌÖÐËùÌÖÂ۵쬶ÔÏó¼¯ ¼Ü¹¹ ¾ßÓÐÒ»¸ö±ãÀûʵÏÖ£¬ËüÔÊÐíÒ»¸ö¶ÔÏóÊý×é±»µ±×÷Ò»¸ö
List¡£Ê¹ÓÃArrays.asList, Ò»¸öÊý×é¿É±»´«µÝ¸øÐèÒªÒ»¸ö Collection »òÒ»¸ö List µÄÈÎÒâ·½·¨¡£ Foo[] result =
oldMethod(arg);
newMethod(Arrays.asList(result));
¡¡¡¡Èç¹û¾ÉµÄAPI ·µ»ØÒ»¸ö Vector »ò Hashtable£¬ Äã¾ÍÒ»µã¹¤×÷¶¼²»ÐèÒª×öÁË£¬ÒòΪ Vector Òѱ»¸ÄÔìΪʵÏÖÁË List ½Ó¿Ú£¬¶ø Hashtable
Ò²±»¸ÄÔìΪʵÏÖÁË Map¡£ ÓÚÊÇ£¬Ò»¸ö Vector ¿É±»Ö±½Ó´«µÝ¸øÐèÒªÒ»¸ö Collection »òÒ»¸ö List µÄÈÎÒâ·½·¨¡£
Vector result = oldMethod(arg);
newMethod(result);
¡¡¡¡ÀàËÆµÄ£¬Ò»¸ö Hashtable ¿É±»Ö±½Ó´«µÝ¸øÐèÒªÒ»¸ö Map µÄÈÎÒâ·½·¨¡£
Hashtable result = oldMethod(arg);
newMethod(result);
¡¡¡¡±È½ÏÉÙ¼ûµÄÊÇ£¬Ò»¸öAPI ·µ»ØÒ»¸ö Enumeration £¬Ëü´ú±íÁËÒ»¸ö¶ÔÏóµÄ ¶ÔÏ󼯡£ËäȻûÓжԽ« Enumeration ת»»ÎªCollection
µÄÖ±½ÓÖ§³Ö£¬µ«Òª´´½¨°üº¬ÓÉEnumeration ·µ»ØµÄËùÓÐÔªËØµÄ Collection £¬Ò²ÊÇÒ»¸ö¼òµ¥µÄÊÂÇ飺
Enumeration e = oldMethod(arg);
List l = new ArrayList();
while (e sMoreElements())
l.add(e.nextElement());
newMethod(l);