javaʹÓÃͨÅä·û¼ò»¯·ºÐÍʹÓÃ
ÔÚʹÓà Java™ ÓïÑԵķºÐÍʱ£¬Í¨Åä·û·Ç³£ÁîÈËÀ§»ó£¬²¢ÇÒ×î³£¼ûµÄÒ»¸ö´íÎó¾ÍÊÇÔÚʹÓÃÓнçͨÅä·ûµÄÁ½ÖÖÐÎʽµÄÆäÖÐÖ®Ò»£¨“? super T” ºÍ “? extends T”£©Ê±³öÏÖ´íÎó¡£Äú³ö´íÁËÂ𣿱ð¾ÚÉ¥£¬¼´Ê¹ÊÇר¼ÒÒ²»á·¸ÕâÖÖ´íÎ󣬱¾Ô Brian Goetz ½«Õ¹Ê¾ÈçºÎ±ÜÃâÕâ¸ö´íÎó¡£
ÔÚ Java ÓïÑÔÖУ¬Êý×éÊÇбäµÄ£¨ÒòΪһ¸ö Integer ͬʱҲÊÇÒ»¸ö Number£¬Ò»¸ö Integer Êý×éͬʱҲÊÇÒ»¸ö Number Êý×飩£¬µ«ÊÇ·ºÐͲ»ÊÇÕâÑùµÄ£¨List<Integer> ²¢²»µÈÓÚ List<Number>£©¡£ÈËÃÇ»áÕùÂÛÄÄЩѡÔñÊÇ “ÕýÈ·µÄ”£¬ÄÄЩѡÔñÊÇ “´íÎóµÄ” — µ±È»£¬Ã¿ÖÖÑ¡Ôñ¶¼¸÷ÓÐÓÅȱµã — µ«ÓÐÒ»µãºÁÎÞÒÉÎÊ£¬´æÔÚÁ½ÖÖʹÓòî±ðºÜСµÄÓïÒå¹¹ÔìÅÉÉúÀàÐ͵ÄÀàËÆ»úÖÆ£¬Õ⽫µ¼Ö´óÁ¿´íÎóºÍÎó½â¡£
ÓнçͨÅä·û£¨Ò»Ð©ÓÐȤµÄ “? extends T” ͨÓÃÀàÐÍ˵Ã÷·û£©ÊÇÓïÑÔÌṩµÄÒ»ÖÖ¹¤¾ß£¬ÓÃÀ´´¦ÀíбäÐÔȱ·¦ — ÓнçͨÅä·ûÔÊÐíÀàÉùÃ÷·½·¨²ÎÊý»ò·µ»ØÖµºÎʱ¾ßÓÐбäÐÔ£¨»òÏà·´£¬ÉùÃ÷·½·¨²ÎÊý»ò·µ»ØÖµºÎʱ¾ßÓÐÄæ±äÐÔ£¨contravariant£©£©¡£ËäÈ»Á˽âºÎʱʹÓÃÓнçͨÅä·ûÊÇ·ºÐͽÏΪ¸´Ôӵķ½Ã棬µ«ÊÇ£¬Ê¹ÓÃÓнçͨÅä·ûµÄѹÁ¦Í¨³£¶¼ÂäÔÚ¿â×÷ÕßµÄÉíÉÏ£¬¶ø·Ç¿âÓû§¡£×î³£¼ûµÄÓнçͨÅä·û´íÎó¾ÍÊÇÍü¼ÇʹÓÃËüÃÇ£¬Õâ¾ÍÏÞÖÆÁËÀàµÄʹÓ㬻òÊÇÇ¿ÖÆÓû§²»µÃ²»ÖØÓÃÏÖÓеÄÀà¡£
ÓнçͨÅä·ûµÄ×÷ÓÃ
ÈÃÎÒÃÇ´ÓÒ»¸ö¼òµ¥µÄ·ºÐÍÀ࿪ʼ£¨Ò»¸ö³ÆÎª Box µÄÖµÈÝÆ÷£©£¬Ëü³ÖÓÐÒ»¸ö¾ßÓÐÒÑÖªÀàÐ͵ÄÖµ£º
public interface Box<T> {
public T get();
public void put(T element);
}
ÓÉÓÚ·ºÐͲ»¾ß±¸Ð±äÐÔ£¬Box<Integer> ²¢²»µÈͬÓÚ Box<Number>£¬¾¡¹Ü Integer ÊôÓÚ Number¡£µ«ÊǶÔÓÚ Box ÕâÑùµÄ¼òµ¥·ºÐÍÀàÀ´Ëµ£¬Õâ²»³ÉÎÊÌ⣬²¢ÇÒ³£³£±»ºöÂÔ£¬ÒòΪ Box<T> µÄ½Ó¿ÚÍêȫָ¶¨Îª T ÀàÐ͵ıäÁ¿ — ¶ø²»ÊÇͨ¹ý T ·ºÐÍ»¯µÄÀàÐÍ¡£Ö±½Ó´¦ÀíÀàÐͱäÁ¿ÔÊÐíʵÏÖ¶à̬ÐÔ¡£Çåµ¥ 1 չʾÁËÕâÖÖ¶à̬ÐÔµÄÁ½¸öʾÀý£º»ñÈ¡ Box<Integer> µÄÄÚÈÝ£¬²¢½«Ëü×÷Ϊһ¸ö Number£¬È»ºó½«Ò»¸ö Integer ·ÅÈë Box<Number> ÖУº
Çåµ¥ 1. ͨ¹ý·ºÐÍÀàÀûÓùÌÓеĶà̬ÐÔ
Box<Integer> iBox = new BoxImpl<Integer>(3);
Number num = iBox.get();
Box<Number> nBox = new BoxImpl<Number>(3.2);
Integer i = 3;
nBox.put(i);
ͨ¹ýʹÓüòµ¥µÄ Box À࣬ʹÎÒÃÇÈ·ÐÅ¿ÉÒÔûÓÐбäÐÔ£¬ÒòΪÔÚÐèҪʵÏÖ¶à̬
Ïà¹ØÎĵµ£º
from
http://hi.baidu.com/18276393/blog/item/f6efc9d77ee7bc2806088b61.html
ÔÎÄ
»ù±¾ÀàÐÍ£¬»òÕß½Ð×öÄÚÖÃÀàÐÍ£¬ÊÇJAVA
ÖÐ
²»Í¬ÓÚÀàµÄÌØÊâÀàÐÍ¡£ËüÃÇÊÇÎÒÃDZà³ÌÖÐʹÓÃ×îÆµ·±µÄÀàÐÍ£¬Òò´ËÃæÊÔ
ÌâÖÐÒ²×ÜÉÙ²»ÁËËü
ÃǵÄÉíÓ°£¬ÔÚÕâÆªÎÄÕÂÖÐÎÒÃǽ«´ÓÃæÊÔÖг£¿¼µÄ¼¸¸ö·½ÃæÀ´»Ø¹ËÒ»ÏÂÓë»ù±¾ÀàÐÍÏà¹ØµÄ֪ʶ¡£
»ù±¾ÀàÐ͹²Ó ......
String s = new Date().toString();¿ÉÒÔÖ±½Ó´´½¨ÍêжÔÏóºó¾ÍÁ¢¼´ÓÃÆäµÄ·½·¨¡£
Ò»¸ö¶ÔÏó±äÁ¿²¢Ã»ÓÐʵ¼Ê°üº¬Ò»¸ö¶ÔÏ󣬶øÊǽö½öÒýÓÃÒ»¸ö¶ÔÏó¡£
GregorianCalendarÀà
javaÉè¼ÆÕß¾ö¶¨°Ñ±£´æÊ±¼äÓë¸øÊ±¼äµãÃüÃû·Ö¿ªÀ´£¬ÕâÑù¾ÍÓÐÁ½¸öÀà,dateºÍGregorianCalendar.Ò»¸öÓÃÀ´±íʾʱ¼äµã£¬Ò»¸öÓÃÀ´±íʾ´ó¼ÒÊìϤµÄÈÕÀú±íʾ·¨¡£ÊÂ浃 ......
¾³£Íü¼ÇÕâЩ»ù´¡µÄ¶«Î÷£¬¼ÇÏÂÀ´ÁË¡£
ÔÚjspºÍclassÎļþÖе÷ÓõÄÏà¶Ô·¾¶²»Í¬¡£ ÔÚjspÀ¸ùĿ¼ÊÇWebRoot ÔÚclassÎļþÖУ¬¸ùĿ¼ÊÇWebRoot/WEB-INF/classes µ±È»ÄãÒ²¿ÉÒÔÓÃSystem.getProperty("user.dir")»ñÈ¡Ä㹤³ÌµÄ¾ø¶Ô·¾¶¡£
Áí:ÔÚJsp,Servlet,JavaÖÐÏêϸ»ñµÃ·¾¶µÄ·½·¨!
1.jspÖÐÈ¡µÃ·¾¶£º
ÒÔ¹¤³ÌÃûΪTESTΪÀý£º
......
C++ÓëJava±È½Ï(ת)
Ó¢ÎÄÔÎÄ£ºhttp://www.javacoffeebreak.com/articles/thinkinginjava/comparingc++andjava.html
“×÷ΪһÃûC++³ÌÐòÔ±£¬ÎÒÃÇÔçÒÑÕÆÎÕÁËÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù±¾¸ÅÄ¶øÇÒJavaµÄÓï·¨ÎÞÒÉÊǷdz£ÊìϤµÄ¡£ÊÂʵÉÏ£¬Java±¾À´¾ÍÊÇ´ÓC++ÑÜÉú³öÀ´µÄ¡£”
¡¡¡¡È»¶ø£¬C++ºÍJavaÖ®¼äÈÔ´æÔÚһЩÏÔÖøµÄ²îÒ ......