锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲精品中文字幕,亚洲区日韩精品中文字幕,五月婷婷亚洲综合http://www.tkk7.com/yesjoy/category/19130.html<font color="red">鈽?lt;/font><font color="blue">鎬誨湪鐖北 鎵浠ヨ壈杈?鎬誨湪瀵繪ⅵ 鎵浠ヨ嫤鐥?lt;/font><font color="red">鈽?lt;/font>zh-cnThu, 02 Sep 2010 04:39:45 GMTThu, 02 Sep 2010 04:39:45 GMT60鍒╃敤Jakarta Commons Lang綆鍖朖avahttp://www.tkk7.com/yesjoy/articles/93203.html鈽厃esjoy鈽?/dc:creator>鈽厃esjoy鈽?/author>Thu, 11 Jan 2007 08:26:00 GMThttp://www.tkk7.com/yesjoy/articles/93203.htmlhttp://www.tkk7.com/yesjoy/comments/93203.htmlhttp://www.tkk7.com/yesjoy/articles/93203.html#Feedback0http://www.tkk7.com/yesjoy/comments/commentRss/93203.htmlhttp://www.tkk7.com/yesjoy/services/trackbacks/93203.html 鏃墮棿錛?005-07-19
浣滆咃細Harshad Oak
嫻忚嬈℃暟錛? 3473
鏈枃鍏抽敭瀛楋細java,聽 鍩虹,聽 Jakarta Commons
杞嚜:http://dev2dev.bea.com.cn/techdoc/2005071902.html
浣滀負浼佷笟Java寮鍙戜漢鍛橈紝鎴戜滑鎬繪槸闇瑕佸疄鐜板悇縐嶅姛鑳斤紝濡傝В鏋怷ML銆佷嬌鐢℉TTP銆侀獙璇佽緭鍏ヤ互鍙婂鐞嗘棩鏈熺瓑銆備嬌鐢↗akarta Commons欏圭洰鐨勭洰鐨勫湪浜庡垱寤鴻礋璐e鐞嗘墍鏈夋綾誨父鐢ㄤ換鍔$殑緇勪歡錛屼粠鑰岃妭綰︽椂闂達紝璁╂偍闆嗕腑綺懼姏澶勭悊鏍稿績涓氬姟瑙e喅鏂規銆傚湪鏈枃涓紝鎴戜滑灝嗗Jakarta Commons 欏圭洰浣滅畝鍗曚粙緇嶏紝鐒跺悗婕旂ず濡備綍浣跨敤Jakarta Commons鍐呯殑Lang緇勪歡鏉ュ鐞嗗拰綆鍖栨棩甯窲ava浠誨姟錛屾瘮濡傚瓧絎︿覆鎿嶄綔銆佷嬌鐢ㄦ棩鏈熷拰鏃ュ巻銆佹瘮杈冩暟鎹璞′互鍙婂璞℃帓搴忕瓑銆傚浜庢湰鏂囦腑鐨勬墍鏈変緥瀛愶紝鎴戜滑閮藉皢浣跨敤鏈鏂扮殑Lang鐗堟湰錛堝嵆2.1鐗堟湰錛夈?
銆銆緙栬呮寜錛氭湰鏂囦腑鐨勪唬鐮佹槸鏍規嵁Commons Lang鐨?RC1鐗堟湰 緙栧啓鐨勩傚叾鏈緇堢増涓嶄箙灝嗗彂琛屻?br />
Commons鍜孡ang緇勪歡綆浠?/strong>
銆銆Jakarta Commons 欏圭洰鏃ㄥ湪瀹炵幇鍙噸鐢ㄧ殑 Java 緇勪歡銆傛欏圭洰鍖呭惈鏁板崄涓粍浠訛紝鐢ㄤ互綆鍖?Java 鐨勫紑鍙戯紝姣忎釜緇勪歡璐熻矗婊¤凍涓涓壒瀹氶渶姹傘傛湁澶ч噺鐨勭粍浠跺彲鐢紝涓斾笉浠呴檺浜庡湪鐗瑰畾綾誨瀷鐨凧ava搴旂敤紼嬪簭涓嬌鐢ㄣ?br />
欏圭洰鍒嗙被鍦ㄤ袱涓儴浠朵腑錛?

  1. Commons Proper錛欳ommons Proper涓殑欏圭洰宸插彲浠ユ姇鍏ュ疄闄呬嬌鐢ㄣ?
  2. Commons Sandbox錛歴andbox鍐呯殑欏圭洰浠嶇劧澶勪簬瀹為獙闃舵銆?

銆銆鐩墠Commons Proper涓湁33涓」鐩紝Commons Sandbox涓湁22涓」鐩紝鏁呰岋紝浠諱綍涓綾籎ava欏圭洰閮芥湁鍏跺瓨鍦ㄧ殑鎰忎箟銆?br />銆銆Lang緇勪歡鏄疛akarta Commons涓緝涓烘祦琛岀殑緇勪歡涔嬩竴銆侺ang鏄鍛堢幇鍦↗2SE鏈韓涓殑涓緇勭被銆?
銆銆鍦ㄦ湰鏂囦腑錛屾垜浠皢浜嗚ВLang鏈鏈夌敤鐨勪竴浜涘姛鑳姐傝娉ㄦ剰鐨勬槸錛屼篃鍙互鍙嬌鐢ㄥ熀鏈琂ava綾繪潵瀹屾垚Lang鐨勬瘡涓姛鑳斤紝浣嗙浉瀵逛簬鑷繁瀛︿範銆佺悊瑙e茍緙栧啓浠g爜鑰岃█錛屼嬌鐢↙ang瑕佺畝鍗曞緱澶氥傚嵆浣挎偍鑳藉鍐欏嚭鏈濂界殑浠g爜錛屼嬌鐢ㄧ粡榪囧疄楠屽拰嫻嬭瘯鐨凩ang鐨勫姛鑳戒細鏇村揩涓浜涳紝鑳借妭鐪佸ぇ閲忕殑媯鏌ヤ笌嫻嬭瘯鏃墮棿銆傞殢鐫Lang涓璧鋒彁渚涗簡鐗規湁鐨凧Unit嫻嬭瘯鐢ㄤ緥錛孡ang鐨勪嬌鐢ㄦ瀬鍏跺箍娉涳紝宸茬粡鍘嗕簡鍏跺垱寤鴻呭拰鐜板疄涓栫晫鐨勭縐嶈冮獙銆?br />銆銆Lang鐨勪竴涓噸瑕佺壒寰佹槸鍏剁畝鍗曟с傞氬父鏉ヨ錛屾柊鐨凧ava緇勪歡鍗佸垎澶嶆潅錛岃浜嗚В鑻ュ共縐嶆妧鏈墠鑳戒嬌鐢ㄨ繖浜涚粍浠躲傝鐞嗚В緇勪歡鐨勭敤閫旈氬父閮藉緢闅撅紝鏇村埆璇村疄闄呬嬌鐢ㄨ緇勪歡浜嗐備絾瀵逛簬澶у鏁癈ommons緇勪歡鑰岃█錛岃繖灝變笉鏄棶棰樹簡銆侺ang涓綾葷粍浠朵嬌鐢ㄦ柟渚匡紝鏃犺瀵笿ava鍒濆鑰呰繕鏄珮綰ava鐢ㄦ埛閮介潪甯告湁鐢ㄣ?br />銆銆濡傛灉鍦ㄩ噰鐢ㄦ妧鏈墠闇瑕佹湁鍗佽凍鐨勪繚璇侊紝鍒欒鍦ㄤ繚瀛樻偍鐨凧ava杞歡鐨勭洰褰曚腑鎼滅儲commons-lang*.jar銆傜粨鏋滀細璁╂偍鎰熷埌寰堟剰澶栥?Tomcat銆?a target="_blank">Struts銆?a target="_blank">Hibernate銆?a target="_blank">Spring鍜?a target="_blank">WebWork 絳夊父瑙丣ava欏圭洰閮戒嬌鐢↙ang銆?br />銆銆棣栧厛璁╂垜浠湅涓鐪嬩嬌鐢↙ang榪涜澶у鏁板紑鍙戜漢鍛樺嚑涔庢瘡澶╁繀欏昏繘琛岀殑鎿嶄綔鈥斺斿瓧絎︿覆鎿嶄綔銆?

澶勭悊瀛楃涓?/strong>
銆銆鏃犺搴旂敤紼嬪簭鏄熀浜嶴wing銆丣2EE鎴朖2ME鐨勶紝瀹冮兘蹇呴』浣跨敤瀛楃涓層傛墍浠ワ紝灝界鍦↗ava涓嬌鐢ㄥ瓧絎︿覆鐩稿綋綆鍗曪紝浣嗘槸濡傛灉甯屾湜鎸夌収涓瀹氱殑鏉′歡淇敼鍜屽鐞嗗瓧絎︿覆錛屼簨鎯呭氨涓嶉偅涔堢畝鍗曚簡銆傛偍涓嶅緱涓嶅湪鍚勭涓庡瓧絎︿覆鐩稿叧鐨勭被涓鎵懼悇縐嶄笉甯哥敤鐨勬柟娉曪紝鐒跺悗鎯沖姙娉曚嬌鍏跺崗鍚屽伐浣滐紝浠ヨ幏寰楁墍闇鐨勭粨鏋溿傝櫧鐒舵湁浜汱ang鏂規硶涓嶫2SE涓殑鏌愪簺鏂規硶閲嶅彔錛屼絾鍦ㄥぇ澶氭暟鎯呭喌涓嬶紝涓涓狶ang鏂規硶灝卞彲鎻愪緵鍚勭綾諱腑鐨勫涓狫2SE鏂規硶鐨勫姛鑳斤紝浠庤屽府鍔╂偍鑾峰緱鎵闇鐨勮緭鍑恒?
銆銆Lang緇勪歡鏈夎澶氫笓闂ㄧ敤浜庡瓧絎︿覆鎿嶄綔鐨勭被銆傜幇鍦ㄦ垜浠皢浣跨敤涓涓畝鍗曠殑Java搴旂敤紼嬪簭鏉ユ紨紺轟竴浜涜緝涓烘湁鐢ㄧ殑綾誨拰鏂規硶銆?
銆銆褰撳簲鐢ㄧ▼搴忔帴鍙楃敤鎴瘋緭鍏ユ椂錛岀敱浜庣敤鎴峰彲鑳戒細瀛樺湪杈撳叆閿欒鐨勬儏鍐碉紝鎴栫敤鎴峰彲鑳戒互鍚勭鏍煎紡杈撳叆鏁版嵁錛岃屾偍甯屾湜鍙噰鐢ㄤ竴縐嶆牸寮忚繘琛屽鐞嗗拰瀛樺偍錛屽垯閫氬父浼氭秹鍙婂埌瀵瑰瓧絎︿覆榪涜鎿嶄綔銆?
銆銆渚嬪錛屾偍鏈変竴涓甫杈撳叆妗嗙殑紿椾綋錛岀敤鎴峰湪姝よ緭鍏ユ鍐呰緭鍏ヨ鍙瘉瀵嗛挜銆傛偍甯屾湜鍏佽杈撳叆1111-JAVA鏍煎紡鐨勫瘑閽ャ傛偍蹇呴』榪涜浠ヤ笅鎿嶄綔錛?/p>

  1. 媯鏌ユ槸鍚︿負絀哄瓧絎︿覆銆?
  2. 蹇界暐絀烘牸銆?
  3. 瀵嗛挜鍖哄垎澶у皬鍐欍?
  4. 鐢ㄢ?鈥濇爣璁板垎闅斿瘑閽ュ瓧絎︿覆錛岀劧鍚庢鏌ョ涓閮ㄥ垎鏄惁鍏ㄩ儴鏄暟瀛楋紝絎簩閮ㄥ垎鍖呭惈鐨勫瓧絎︽槸鍚﹀彧鏉ヨ嚜鏈夋晥瀛楃闆嗏淛鈥濄佲淎鈥濄佲淰鈥濄佲淎鈥濄?
  5. 涓や釜閮ㄥ垎鍧囧簲鏈夊洓涓瓧絎︺?
  6. 絎竴閮ㄥ垎鐨勭鍥涗釜鏁板瓧搴旇鏄?鈥濄?

銆銆鍙湁褰撳瘑閽ユ弧瓚蟲墍鏈夎繖浜涙潯浠舵椂錛屽簲鐢ㄧ▼搴忔墠浼氭煡璇㈡暟鎹簱錛屾鏌ヨ瀵嗛挜鏄惁鍚堟硶銆?
銆銆濡傛灉涓嶈姳澶ч噺鐨勬椂闂存祻瑙圫tring銆丼tringTokenizer鍜屽叾浠栫被鐨凙PI鏂囨。錛屾偍鑳藉畬鎴愪互涓婄殑浠誨姟涔堬紵鎴戜笉鑳斤紝鎵浠ョ幇鍦ㄦ垜灝嗚瘯鐫鐢↙ang緇勪歡鏉ョ鐞嗛獙璇併?br />娓呭崟1. checkLicenseKey()鏂規硶

/**
 * Check if the key is valid
 * @param key license key value
 * @return true if key is valid, false otherwise.
 */
public static boolean checkLicenseKey(String key){
    //checks if empty or null
    if(StringUtils.isBlank(key)){
        return false;
    }

    //delete all white space
    key= StringUtils.deleteWhitespace(key);

    //Split String using the - separator
    String[] keySplit = StringUtils.split(key, "-");

    //check lengths of whole and parts
    if(keySplit.length != 2
        || keySplit[0].length() != 4
        || keySplit[1].length() != 4) {
        return false;
    }

    //Check if first part is numeric
    if(!StringUtils.isNumeric(keySplit[0])){
        return false;
    }

    //Check if second part contains only
    //the four characters 'J', 'A', 'V' and 'A'
    if(! StringUtils.containsOnly(keySplit[1]
            ,new char[]{'J', 'A', 'V', 'A'})){
        return false;
    }

    //Check if the fourth character
	  //in the first part is a '0'
    if(StringUtils.indexOf(keySplit[0], '0') != 3){
        return false;
    }

    //If all conditions are fulfilled, key is valid.
    return true;
}
銆銆鍦ㄦ竻鍗?涓紝鎴戜滑浣跨敤浜唎rg.apache.commons.lang.StringUtils綾諱腑鎻愪緵鐨勫悇縐嶆柟娉曪紝鏍規嵁鎴戜滑鍏堝墠瀹氫箟鐨勬墍鏈夎鍒欏瀛楃涓茶繘琛岄獙璇併俰sBlank()鏂規硶媯鏌ュ瓧絎︿覆鏄惁涓虹┖銆俤eleteWhitespace()鏂規硶紜繚瀛楃涓蹭笉鍖呭惈絀烘牸銆傜劧鍚庢垜浠嬌鐢╯plit()鏂規硶瀵瑰瓧絎︿覆榪涜鍒嗛殧錛屽茍浣跨敤isNumeric()銆乧ontainsOnly()鍜宨ndexOf()鏂規硶瀵瑰瘑閽ョ殑涓ら儴鍒嗚繘琛岄獙璇併?br />銆銆璇鋒敞鎰忥紝灝界鍦↗2SE涓凡緇忔湁浜唅ndexOf()鏂規硶錛屾渶濂戒嬌鐢⊿tringUtils涓殑indexOf()銆備笌J2SE indexOf()鏂規硶涓嶅悓錛屼嬌鐢⊿tringUtils indexOf()鏃舵棤闇鎷呭績絀烘寚閽堢殑闂銆傝Е鍙慛ullPointerException琚涓烘槸Java紼嬪簭鍛樻渶甯哥姱鐨勯敊璇侺ang鍙互紜繚鎮ㄤ笉浼氱姱鍚屾牱鐨勯敊璇傚嵆浣垮悜indexOf()鎴栧叾浠栨綾繪柟娉曚紶閫掍竴涓猲ull錛岄兘涓嶄細寮曞彂NullPointerException銆俰ndexOf()灝嗙洿鎺ヨ繑鍥?1銆?br />銆銆榪欐牱錛屽彧闇鍑犺綆鍗曚唬鐮侊紝灝卞彲浠ュ疄鐜扮浉搴旂殑鍔熻兘錛岃岄噰鐢ㄥ叾浠栨柟娉曢渶瑕佺紪鍐欏緢澶氳浠g爜錛岃屼笖鍗佸垎楹葷儲銆傚鏋滀嬌鐢ㄦ竻鍗?涓墍紺虹殑涓繪柟娉曟墽琛宑heckLicenseKey()鏂規硶錛屾墍寰楀埌鐨勭粨鏋滃娓呭崟3鎵紺恒?br />
娓呭崟2. main()鏂規硶
public static void main(String[] args) {
    String []key= {"1210-JVAJ","1211-JVAJ", "210-JVAJ", "1210-ZVAJ"};
    for (int i=0; i < key.length; i++){
        if(checkLicenseKey(key[i])){
            System.out.println(key[i]+ " >> Is Valid");
        }
        else{
            System.out.println(key[i]+ " >> Is InValid");
        }
    }
}
娓呭崟3. 杈撳嚭
1210-JVAJ >> Is Valid
1211-JVAJ >> Is InValid
210-JVAJ >> Is InValid
1210-ZVAJ >> Is InValid
銆銆澶ч儴鍒嗙敤浜庤繘琛屽瓧絎︿覆鎿嶄綔鐨勬柟娉曢兘闅跺睘浜巓rg.apache.commons.lang.StringUtils錛屼絾涔熸湁鍏朵粬鐨勭被鍙互浣跨敤銆侰harUtils鍜孋harSetUtils鍒嗗埆鎻愪緵浣跨敤瀛楃鍜屽瓧絎﹂泦鐨勫疄鐢ㄦ柟娉曘俉ordUtils鏄湪2.0鐗堜腑棣栨鍑虹幇鐨勭被錛岀敤浜庢壙杞戒笓闂ㄧ敤浜庡鐞嗗瓧鐨勫疄鐢ㄦ柟娉曘備笉榪囷紝鐢變簬瀛楃涓插拰瀛楃殑澶勭悊涓婃湁澶ч噺鐨勯噸鍙犳搷浣滐紝浣垮緱姝ょ被浼間箮鏈夌偣娌℃湁瀛樺湪鐨勫繀瑕佷簡銆俁andomStringUtils綾誨彲浠ユ牴鎹悇縐嶈鍒欑敓鎴愰殢鏈哄瓧絎︿覆銆?
銆銆鐜板湪錛岃鎴戜滑浜嗚В涓涓婰ang鐨勫彟涓涓湁鐢ㄧ殑鏂歸潰錛氬鐞嗘棩鏈熷拰鏃墮棿鐨勮兘鍔涖?br />
鏃墮棿鎶鏈?/strong>
銆銆鍦↗ava涓鐞嗘棩鏈熷拰鏃墮棿鏄竴浠剁浉褰撴鎵嬬殑浜嬨傚鏋滆浣跨敤java.text.SimpleDateFormat銆乯ava.util.Calendar銆乯ava.util.Date絳夌被錛岄渶瑕佷竴瀹氭椂闂存潵閫傚簲錛岃繕闇瑕佸姣忎竴涓秹鍙婂埌鐨勭被鍜屾帴鍙i潪甯鎬簡瑙o紝鎵嶈兘欏哄埄鍦板鐞嗘棩鏈熷拰鏃墮棿銆?
銆銆Lang緇勪歡褰誨簳鍦扮畝鍖栦簡鏃ユ湡鐨勫鐞嗭紝騫跺彲瀵瑰叾榪涜鏍煎紡鍖栥傛偍鍙互杞繪澗鍦版牸寮忓寲鏃ユ湡浠ヨ繘琛屾樉紺恒佹瘮杈冩棩鏈熴佽垗鍏ユ垨鎴柇鏃ユ湡錛岀敋鑷寵兘鑾峰彇鐗瑰畾鑼冨洿鍐呯殑鎵鏈夋棩鏈熴?

娓呭崟4. 澶勭悊鏃ユ湡鍜屾椂闂?/strong>
public static void main(String[] args)
throws InterruptedException, ParseException {
    //date1 created
    Date date1= new Date();
    //Print the date and time at this instant
    System.out.println("The time right now is >>"+date1);

    //Thread sleep for 1000 ms
    Thread.currentThread().sleep(DateUtils.MILLIS_IN_SECOND);

    //date2 created.
    Date date2= new Date();

    //Check if date1 and date2 have the same day
    System.out.println("Is Same Day >> "
        + DateUtils.isSameDay(date1, date2));

    //Check if date1 and date2 have the same instance
    System.out.println("Is Same Instant >> "
        +DateUtils.isSameInstant(date1, date2));

    //Round the hour
    System.out.println("Date after rounding >>"
        +DateUtils.round(date1, Calendar.HOUR));

    //Truncate the hour
    System.out.println("Date after truncation >>"
        +DateUtils.truncate(date1, Calendar.HOUR));

    //Three dates in three different formats
    String [] dates={"2005.03.24 11:03:26", "2005-03-24 11:03", 
    "2005/03/24"};

    //Iterate over dates and parse strings to java.util.Date objects
    for(int i=0; i < dates.length; i++){
        Date parsedDate= DateUtils.parseDate(dates[i],
        new String []{"yyyy/MM/dd", "yyyy.MM.dd HH:mm:ss",
      "yyyy-MM-dd HH:mm"});

        System.out.println("Parsed Date is >>"+parsedDate);
    }

    //Display date in HH:mm:ss format
    System.out.println("Now >>"
        +DateFormatUtils.ISO_TIME_NO_T_FORMAT.format
    (System.currentTimeMillis()));
}
銆銆娓呭崟4婕旂ず浜唎rg.apache.commons.lang.DateUtils鍜宱rg.apache.commons.lang.DateFormatStringUtils綾葷殑閮ㄥ垎鍔熻兘銆傝繕鏈夊叾浠栬澶氭柟娉曞彲浠ヨ繘琛屽悓鏍風殑鎿嶄綔錛屼絾杈撳叆鏍煎紡涓嶅悓銆傛晠鑰岋紝濡傛灉涓囦竴鎮ㄥ繀欏誨垎鏋愬拰鏍煎紡鍖栦竴涓棩鏈熷鹼紝鍙渶瑕佸熷姪鎻愪緵鐨勬柟娉曚箣涓錛屽埄鐢ㄤ竴琛屼唬鐮佸氨鍙互瀹炵幇浜嗐?
銆銆鎵ц娓呭崟4涓唬鐮佸悗鐨勮緭鍏ュ娓呭崟5鎵紺恒?br />
娓呭崟5. 杈撳嚭
The time right now is >>Sat Apr 09 14:40:41 GMT+05:30 2005
Is Same Day >> true
Is Same Instant >> false
Date after rounding >>Sat Apr 09 15:00:00 GMT+05:30 2005
Date after truncation >>Sat Apr 09 14:00:00 GMT+05:30 2005
Parsed Date is >>Thu Mar 24 11:03:26 GMT+05:30 2005
Parsed Date is >>Thu Mar 24 11:03:00 GMT+05:30 2005
Parsed Date is >>Thu Mar 24 00:00:00 GMT+05:30 2005
Now >>14:40:43
銆銆鍦ㄦ竻鍗?涓紝鎴戜滑鍒涘緩浜嗕袱涓棩鏈燂紝榪欎袱涓棩鏈熶粎鏈変竴縐掔殑宸埆銆傜劧鍚庝嬌鐢╥sSameInstant()鍜宨sSameDay()鏂規硶媯鏌ヨ繖涓や釜鏃ユ湡鏄惁鐩稿悓銆傛帴涓嬫潵灝嗘棩鏈熻繘琛岃垗鍏ュ拰鎴柇錛岀劧鍚庝嬌鐢ㄥ湪鏁扮粍涓寚瀹氱殑鍚勭鏍煎紡瀵圭壒孌婃棩鏈熺敤渚嬭繘琛岃В鏋愩?br />銆銆灝嗘偍鐨勫簲鐢ㄧ▼搴忛泦鎴愬埌絎笁鏂瑰簲鐢ㄧ▼搴忔椂錛岀粡甯鎬笉鑳藉畬鍏ㄧ‘瀹氳緭鍏ョ殑鏍煎紡銆傛垜鏇劇粡鍋氳繃涓涓鏃х増搴旂敤紼嬪簭鐨勯泦鎴愶紝瀵逛簬姣忎釜闂錛岃搴旂敤紼嬪簭浼間箮鎬繪槸鏈変笁涓瓟妗堛傛墍浠ワ紝濡傛灉蹇呴』瀵規綾誨簲鐢ㄧ▼搴忔彁渚涚殑鏃ユ湡榪涜瑙f瀽錛屾偍闇瑕佹彁渚涗笁涓拰鍥涗釜涓嶅悓鐨勬棩鏈熸牸寮忋傛竻鍗?涓嬌鐢╬arseDate()鏂規硶灝辨槸涓轟簡瀹屾垚榪欓」浠誨姟銆傝繖鏍鳳紝鍗充嬌杈撳叆鏈夊彉鍖栵紝浠嶇劧鑳芥洿瀵規棩鏈熻繘琛岃В鏋愩傝繕瑕佹敞鎰忥紝鏁扮粍鍐呮ā寮忕殑欏哄簭涓庤緭鍏ョ殑欏哄簭騫朵笉鐩稿悓錛屼絾璇ユ柟娉曚粛鐒舵壘鍒頒簡閫傚綋鐨勬ā寮忥紝騫舵嵁姝よ繘琛岃В鏋愩?br />銆銆鏈鍚庯紝鎴戜滑鎸夌収ISO_TIME_NO_T_FORMAT鏍煎紡錛圚H:mm:ss錛夊鏃ユ湡榪涜鏍煎紡鍖栧茍鎵撳嵃杈撳叆銆傜幇鍦ㄦ垜浠皢浜嗚В浣跨敤Lang鐢熸垚甯哥敤鏂規硶toString()銆?br />
鐢熸垚toString()鏂規硶
銆銆緇忓父瑕佺敤鍒癳quals()銆乼oString()鍜宧ashCode()鏂規硶銆備笉榪囷紝璋堝埌瀹為檯緙栧啓榪欎簺鏂規硶鐨勫疄鐜版椂錛屼笉浠呮垜浠ぇ澶氭暟浜轟笉鎰挎剰榪欐牱鍋氾紝鑰屼笖鎴戜滑涔熶笉鑳界‘瀹氬浣曞噯紜畝鍗曞湴緙栧啓榪欎簺鏂規硶銆傜敓鎴愬櫒紼嬪簭鍖呮彁渚涗簡涓浜涘疄鐢ㄧ被錛屽彲浠ュ府鍔╂偍鏂逛究鍦板垱寤鴻繖浜涙柟娉曠殑瀹炵幇銆傚ぇ澶氭暟鎯呭喌涓嬶紝鍙渶瑕佷竴琛屼唬鐮佸嵆鍙備笅闈㈡垜浠皢浜嗚ВLang鐨則oString鍔熻兘銆?br />
toString()鏂規硶
銆銆鎮ㄥ彲鑳芥病鏈夋敞鎰忓埌錛屽湪娓呭崟4涓紝鍗充嬌鎴戜滑鍚慡ystem.out.println()浼犻掍竴涓猨ava.util.Date瀵硅薄錛屾墍鑾峰緱鐨勮緭鍑轟粛鐒舵槸姝g‘鐨勬棩鏈熷拰鏃墮棿鏄劇ず銆備紶閫掑璞″紩鐢ㄦ椂錛屽皢鑷姩璋冪敤toString()鏂規硶錛屾墍浠ュ彲浠ュ疄鐜拌繖涓鐐廣傞偅涔堬紝鍦ㄦ垜浠殑紺轟緥涓疄闄呬笂璋冪敤浜唈ava.util.Date綾葷殑toString()鏂規硶錛屾垜浠兘澶熷緱鍒版紜殑杈撳嚭鏄洜涓烘湁浜洪噸鍐欎簡java.util.Date綾諱腑鐨刯ava.lang.Object綾葷殑toString()鏂規硶銆?
銆銆濡傛灉娌℃湁閲嶅啓toString()鏂規硶錛屽垯鑾峰緱鐨勮緭鍑哄彧鏄被鍚嶇О鍜宧ashcode鐨勫悕縐般傚皢涓嶄細鏄劇ず綾諱腑鐨勪換浣曟暟鎹傛墍浠ワ紝濡傛灉緙栧啓浜嗕竴涓柊綾伙紝涓斿笇鏈涜兘寰楀埌姝g‘鐨勬墦鍗拌緭鍑猴紝鍒欓渶瑕侀噸鍐欒綾諱腑鐨則oString()鏂規硶銆?

娓呭崟6. toString()鏂規硶
public class Computer {

    String processor;
    String color;
    int cost;

    /** Creates a new instance of Computer */
    public Computer(String processor, String color, int cost) {
        this.processor=processor;
        this.color=color;
        this.cost=cost;
    }

    public static void main(String[] args) {
        Computer myComp=new Computer("Pentium","black",1000);
        System.out.println(myComp);
    }
    
    public String toString(){
        return ToStringBuilder.reflectionToString(this);
        /*
        return ToStringBuilder.reflectionToString(this
            , ToStringStyle.SHORT_PREFIX_STYLE);
        return ToStringBuilder.reflectionToString(this
            , ToStringStyle.MULTI_LINE_STYLE);
        return new ToStringBuilder(this)
            .append("processor", processor).toString();
         */
    }
}
銆銆娓呭崟6婕旂ず浜嗗叿鏈変笁涓瓧孌電殑Computer綾匯傚叾涓煎緱鍏蟲敞鐨勬槸toString()鏂規硶銆傝皟鐢╮eflectionToString()鏂規硶鍙互鍒ゆ柇鍝簺鏄被涓殑瀛楁錛岀劧鍚庢墦鍗板叾鍚嶇О鍜屽箋俶ain()鏂規硶涓紝鎴戜滑鍙垱寤轟簡璇ョ被鐨勪竴涓疄渚嬶紝鐒跺悗灝嗗叾鎵撳嵃鍑烘潵銆傝綾葷殑杈撳嚭涓篸ev2dev.Computer@f6a746[processor=Pentium,color=black,cost=1000]銆?br />銆銆鍥犺岋紝濡傛灉涓嶅笇鏈涜姳澶綺懼姏錛屼絾鍙堥渶瑕佹偍鐨勭被鏈塼oString()瀹炵幇錛屾渶綆鍗曠殑鏂規硶鑾繃浜庡皢榪欎袱琛屼唬鐮佸鍒跺茍綺樿創鍒版偍鐨勬墍鏈夌被涓傚鏋滃笇鏈涙洿濂藉湴鎺у埗鐢熸垚鐨勭粨鏋滐紝璇峰弬瑙佹敞閲婁腑鎻愬埌鐨勯夐」銆傞氳繃鍒涘緩ToStringBuilder鐨勬柊瀹炰緥錛屽彲浠ュ杈撳嚭搴旂敤鍚勭鏍峰紡錛岀敋鑷崇敓鎴愬叏閮ㄨ緭鍑恒傚鏋滄寜鐓у垪鍑虹殑欏哄簭鎵ц浜嗗叏閮ㄥ洓涓繑鍥炶鍙ワ紝鍒欒緭鍑哄娓呭崟7鎵紺恒?br />
娓呭崟7. 鍩轟簬ToStringBuilder鏂規硶鐨勫洓涓彲鑳借緭鍑?/strong>
1) dev2dev.Computer@f6a746[processor=Pentium,color=black,cost=1000]
2) Computer[processor=Pentium,color=black,cost=1000]
3) dev2dev.Computer@f6a746[
   processor=Pentium
   color=black
   cost=1000
   ]
4) dev2dev.Computer@192d342[processor=Pentium]
瀵硅薄姣旇緝涓庢帓搴?/strong>
銆銆緇忓父闇瑕佸鏁版嵁瀵硅薄榪涜姣旇緝錛屽茍鎹榪涜鎺掑簭銆傞偅涔堟垜浠浣曞娓呭崟6涓墍緇欏嚭鐨凜omputer綾葷殑瀵硅薄榪涜姣旇緝鍜屾帓搴忓憿錛?
銆銆鎮ㄧ寽鐚滐紒璁╂垜浠嬌鐢↙ang鏍規嵁璁$畻鏈虹殑鎴愭湰瀵笴omputer瀵硅薄榪涜鎺掑簭銆傝嫢瑕佹瘮杈冨璞★紝闇瑕佸疄鐜癹ava.lang.Comparable鎺ュ彛銆傛鎺ュ彛鍏鋒湁鎯熶竴鐨勬柟娉昪ompareTo(Object)銆傛鏂規硶瀹炵幇灝嗗綋鍓嶅璞″拰浼犻掔粰姝ゆ柟娉曠殑瀵硅薄榪涜姣旇緝銆傚鏋滄瀵硅薄灝忎簬銆佺瓑浜庢垨澶т簬鎸囧畾鐨勫璞★紝姝ゆ柟娉曞皢鍒嗗埆榪斿洖璐熸暟銆侀浂鎴栨鏁般?
銆銆涓轟簡瀵笴omputer瀵硅薄榪涜姣旇緝錛屽湪Computer綾諱腑瀹炵幇compareTo() 鏂規硶錛屽娓呭崟8鎵紺恒?br />
娓呭崟8. compareTo()鏂規硶
public int compareTo(Object obj) {
    Computer anotherComputer = (Computer)obj;
    //return new CompareToBuilder().reflectionCompare
  (this, anotherComputer);
    return new CompareToBuilder().
	append(this.cost, anotherComputer.cost).toComparison();
}
銆銆鐒跺悗錛屼負浜嗗疄闄呰繘琛屾瘮杈冿紝鎴戜滑緙栧啓涓涓悕涓篊omputerSor鐨勭畝鍗曠被錛屽娓呭崟9涓墍紺恒傛垜浠彧鍚慉rrayList娣誨姞涓変釜瀵硅薄錛岀劧鍚庤繘琛屾帓搴忋?br />
娓呭崟9. ComputerSort綾?/strong>
public class ComputerSort  {

    public static void main(String[] args) {
        ArrayList computerList = new ArrayList();
        computerList.add(new Computer("Pentium","black", 1000));
        computerList.add(new Computer("Pentium","chocolate", 334));
        computerList.add(new Computer("Pentium","darkgray", 2234));

        Collections.sort(computerList);
        System.out.println(computerList);
    }

}
銆銆鎵цComputerSort鏃訛紝灝嗙湅鍒板璞℃牴鎹甤ost瀛楁鐨勫艱繘琛屼簡鎺掑簭銆侰ompareToBuilder涓嶵oStringBuilder綾諱技錛屼篃鏈変竴涓熀浜庡弽灝勭殑鐢ㄦ硶閫夐」銆傛垜浠凡瀵規竻鍗?涓殑compareTo()鏂規硶涓殑浣嶅厓榪涜浜嗘敞閲婏紝鍥犱負錛屽湪姝ょ鎯呭喌涓嬶紝鍙嶅皠閫夐」灝嗘瘮杈冩墍鏈夊瓧孌碉紝鏈緇堣幏寰椾笉姝g‘鐨勭粨鏋溿傚鏋滄棦涓嶅笇鏈涙瘮杈冨綋鍓嶇被涓殑瀛楁錛屼篃涓嶅笇鏈涙瘮杈冨叾瓚呯被涓殑瀛楁錛孋ompareToBuilder涔熸彁渚涗簡鍙互鐢ㄤ簬姝ょ敤閫旂殑鏂規硶銆傛墽琛孋omputerSort綾葷殑杈撳嚭濡傛竻鍗?0涓墍紺恒?br />
娓呭崟10. 鎺掑簭鍚庣殑Computer瀵硅薄
[dev2dev.Computer@cf2c80[processor=Pentium,color=chocolate,cost=334]
, dev2dev.Computer@12dacd1[processor=Pentium,color=black,cost=1000]
, dev2dev.Computer@1ad086a[processor=Pentium,color=darkgray,cost=2234]]

緇撴潫璇?/strong>
銆銆鏈枃涓紝鎴戜滑浜嗚В浜咼akarta Commons Lang緇勪歡鐨勪竴浜涗富瑕佸姛鑳姐傛葷殑璇存潵錛孋ommons欏圭洰鏄潪甯告湁鐢ㄧ殑欏圭洰錛屼絾騫舵病鏈夊緱鍒板厖鍒嗗埄鐢ㄣ傝櫧鐒跺紑婧愰」鐩嬌鐢ㄤ簡璁稿Commons緇勪歡錛屼絾鍏跺湪寮婧愪笘鐣屼箣澶栫殑搴旂敤騫朵笉鍗佸垎騫挎硾銆傜幇鍦ㄦ偍宸茬粡瀵筁ang鐨勫姛鑳芥湁鎵浜嗚В錛屽簲璇ヨ冭檻绔嬪嵆灝嗗叾搴旂敤鍒版偍鐨勫簲鐢ㄧ▼搴忎腑銆傚彟澶栵紝榪樺彲浠ュ湪Commons欏圭洰涓鎵懼悇縐嶆湁鐢ㄧ殑緇勪歡錛屼粠鑰岀畝鍖朮ML瑙f瀽銆佷嬌搴旂敤紼嬪簭榪涜HTTP浼氳瘽銆佸疄鐜扮郴緇熷寲楠岃瘉浠ュ強鎵ц寰堝鍏朵粬鍔熻兘銆?br />
涓嬭澆
銆銆涓嬭澆鏈枃涓敤鍒扮殑浠g爜錛?a >examples.zip (3KB)

鍙傝冭祫鏂?/strong>

銆銆Harshad Oak鏄疛ava J2EE闂ㄦ埛緗戠珯IndicThreads.com鐨勫垱濮嬩漢銆備粬緙栧啓浜哖ro Jakarta Commons鍜孫racle JDeveloper 10g:Empowering J2EE Development錛屽茍涓庝漢鍚堣憲浜咼ava 2 Enterprise Edition 1.4 Bible銆備粬榪樻槸Rightrix Solutions鐨勫垱濮嬩漢銆?

鍘熸枃鍑哄
http://dev2dev.bea.com/pub/a/2005/04/commons_lang.html



]]>
主站蜘蛛池模板: 亚洲精品蜜夜内射| 亚洲图片中文字幕| 国产精品免费久久久久久久久| 成人无码区免费视频观看| 亚洲日本在线观看网址| 久久久久久国产精品免费免费| 亚洲一区二区三区91| 日韩精品福利片午夜免费观着| 亚洲一区二区观看播放| 日本二区免费一片黄2019| 极品美女一级毛片免费| 久久综合亚洲色HEZYO国产| 国产午夜免费高清久久影院| 亚洲丝袜美腿视频| 免费在线视频你懂的| 亚洲午夜久久久久久尤物 | 国产久爱免费精品视频| 国内精品久久久久久久亚洲| 东北美女野外bbwbbw免费| 中文字幕亚洲色图| 成年女人18级毛片毛片免费观看| 国产精品亚洲一区二区在线观看| 日本一道一区二区免费看| 一区二区免费电影| 久久精品蜜芽亚洲国产AV| 无码免费午夜福利片在线 | 亚洲色婷婷综合久久| 国产成人精品一区二区三区免费| 亚洲电影唐人社一区二区| 免费欧洲毛片A级视频无风险| 久99久无码精品视频免费播放| 亚洲精品免费视频| 爽爽日本在线视频免费| 99麻豆久久久国产精品免费| 亚洲乱码中文论理电影| 亚洲国产成人精品女人久久久 | 久久精品国产99国产精品亚洲| 四虎影库久免费视频| 三年片在线观看免费观看大全一 | 精品亚洲AV无码一区二区三区 | 亚洲精品国产啊女成拍色拍|