锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲性线免费观看视频成熟,国产成人亚洲综合a∨,久久人午夜亚洲精品无码区http://www.tkk7.com/human2008/category/28756.htmlzh-cnSat, 12 Jan 2008 12:53:00 GMTSat, 12 Jan 2008 12:53:00 GMT60浣跨敤Lucene榪涜鍏ㄦ枃媯绱?涓)---澶勭悊绱㈠紩 http://www.tkk7.com/human2008/archive/2008/01/11/174507.html鐏?鐏?Fri, 11 Jan 2008 01:47:00 GMThttp://www.tkk7.com/human2008/archive/2008/01/11/174507.htmlhttp://www.tkk7.com/human2008/comments/174507.htmlhttp://www.tkk7.com/human2008/archive/2008/01/11/174507.html#Feedback0http://www.tkk7.com/human2008/comments/commentRss/174507.htmlhttp://www.tkk7.com/human2008/services/trackbacks/174507.htmlhttp://lucene.apache.org.鐩稿叧鐨勪竴涓」鐩槸杞︿笢鐨刉ebLucene: http://sourceforge.net/projects/weblucene.

 棣栧厛,鍩轟簬涓涓畝鍗曠殑鏂伴椈緋葷粺,瑕佹兂鍋氬叏鏂囨绱?鏂伴椈緋葷粺鐨勭鐞嗙瓑鍦ㄨ繖閲屼笉鍦ㄥ叿浣撴彁鍑?涓嬮潰鍒楀嚭鏂伴椈瀵硅薄鐨勭被:
 
 娉?紼嬪簭鐢ㄤ細鍒頒竴浜涘伐鍏風被,涓嶅湪姝ゅ垪鍑?鐢ㄦ埛鍙互鑷繁瀹炵幇.
 
 

  package com.jscud.website.newsinfo.bean;
  
  
  import java.sql.Timestamp;
  
  import com.jscud.util.DateTime;
  import com.jscud.util.StringFunc;
  import com.jscud.website.newsinfo.NewsConst;
  
  
  /**
   * 涓涓柊闂?
   *
   * @author scud(椋炰簯灝忎緺) http://www.jscud.com
   * 
   */
  public class NewsItem
  {
  
      private int nid; //鏂伴椈緙栧彿
  
      private int cid; //綾誨埆緙栧彿
  
      private String title;//鏍囬
  
      private int showtype; //鍐呭綾誨瀷:鐩墠鏀寔url鍜宧tml
  
      private String content;//鍐呭
  
      private String url;//瀵瑰簲緗戝潃,濡傛灉鍐呭綾誨瀷鏄痷rl鐨勮瘽
  
      private Timestamp addtime; //澧炲姞鏃墮棿
  
      private int click; //鐐瑰嚮鏁?br />      
      //瀵瑰簲鐨刧et,set鍑芥暟,杈冨涓嶅湪鍒楀嚭,鍙互浣跨敤宸ュ叿鐢熸垚
      //......
  
     
      /**
       * 鎸夌収綾誨瀷鏍煎紡鍖?br />        */
      public String getShowContent()
      {
          String sRes = content;
          if(showtype == NewsConst.ShowType_HTML)
          {
          }  
          return sRes;
      }
     
      public String getTarget()
      {
          if(showtype == NewsConst.ShowType_URL)
          {
              return "_blank";
          }
          else
              return "";       
      }
     
      /**
       * 闈欐丠tml鏂囦歡鐨勮礬寰勫強鍏跺悕瀛?br />        */
      public String getHtmlFileName()
      {
          int nYear = DateTime.getYear_Date(getAddtime());
          int nMonth =  DateTime.getMonth_Date(getAddtime());
             
          String sGeneFileName =
             "/news/" + getCid() + "/" + nYear + "/" + nMonth +"/" + getNid() + ".htm";
         
          return sGeneFileName;
      }
     
      /**
       * 闈欐丠tml鏂囦歡鐨勮礬寰?br />        */
      public String getHtmlFilePath()
      {
          int nYear = DateTime.getYear_Date(getAddtime());
          int nMonth =  DateTime.getMonth_Date(getAddtime());
             
          String sGeneFilePath =
             getCid() + "_" + nYear + "_" + nMonth;
         
          return sGeneFilePath;
      }     
  } 


 
 鍙互鐪嬪埌,鎴戜滑闇瑕佸鏍囬鍜屽唴瀹硅繘琛屾绱?涓轟簡榪欎釜鐩殑,鎴戜滑棣栧厛闇瑕佹潵鐮旂┒涓涓媗ucene.
 
 鍦↙ucene涓?濡傛灉瑕佽繘琛屽叏鏂囨绱?蹇呴』瑕佸厛寤虹珛绱㈠紩鐒跺悗鎵嶈兘榪涜媯绱?褰撶劧瀹為檯宸ヤ綔涓繕浼氭湁鍒犻櫎绱㈠紩鍜屾洿鏂扮儲寮曠殑宸ヤ綔.
 
 鍦ㄦ涔嬪墠,浠嬬粛涓涓渶鍩烘湰鐨勭被(鎽樻妱鑷?a href="http://www.tkk7.com/cap/archive/2005/07/17/7849.html">http://www.tkk7.com/cap/archive/2005/07/17/7849.html):
 
 Analyzer 鏂囦歡鐨勫垎鏋愬櫒錛堝惉璧鋒潵鍒壄錛岃繕鏄彨Analyzer濂戒簡)鐨勬娊璞★紝榪欎釜綾葷敤鏉ュ鐞嗗垎璇?瀵逛腑鏂囧挨鍏墮噸瑕侊紝杞崲澶у皬鍐?Computer->computer,瀹炵幇鏌ヨ澶у皬鍐欐棤鍏?錛岃漿鎹㈣瘝鏍?computers->computer),娑堥櫎stop words絳?榪樿礋璐f妸鍏朵粬鏍煎紡鏂囨。杞崲涓虹函鏂囨湰絳?
 
 鍦╨ucene涓?涓鑸細浣跨敤StandardAnalyzer鏉ュ垎鏋愬唴瀹?瀹冩敮鎸佷腑鏂囩瓑澶氬瓧鑺傝璦,褰撶劧鍙互鑷繁瀹炵幇鐗規(guī)畩鐨勮В鏋愬櫒.StandardAnalyzer鐩墠瀵逛腑鏂囩殑澶勭悊鏄寜鐓у崟瀛楁潵澶勭悊鐨?榪欐槸鏈綆鍗曠殑鍔炴硶,浣嗘槸涔熸湁緙虹偣,浼氱粍鍚堝嚭涓浜涙病鏈夋剰涔夌殑緇撴灉鏉? 
 
 
 棣栧厛鎴戜滑鏉ヤ簡瑙e緩绔嬬儲寮?寤虹珛绱㈠紩鍖呭惈2縐嶆儏鍐?涓縐嶆槸緇欎竴鏉℃柊闂誨緩绔嬬儲寮?鍙﹀鐨勬儏鍐墊槸鍦ㄥ紑濮嬫垨鑰呬竴瀹氱殑鏃墮棿緇欐壒閲忕殑鏂伴椈寤虹珛绱㈠紩,鎵浠ヤ負浜嗛氱敤,鎴戜滑鍐欎竴涓氱敤鐨勫緩绔嬬儲寮曠殑鍑芥暟:
 
 (涓鑸竴綾葷殑绱㈠紩閮芥斁鍦ㄤ竴涓洰褰曚笅,榪欎釜閰嶇疆鍙互鍦ㄥ嚱鏁頒腑瀹氫箟,涔熷彲浠ュ啓鍦ㄩ厤緗枃浠朵腑,閫氳繃鍙傛暟浼犻掔粰鍑芥暟.)

    /**
     * 鐢熸垚绱㈠紩.
     *
     * @param doc 鐩爣鏂囨。
     * @param indexDir 绱㈠紩鐩綍
     */
    public static void makeIndex(Document doc, String indexDir)
    {
        List aList = new ArrayList();
        aList.add(doc);
        makeIndex(aList, indexDir);
    }
 
    /**
     * 鐢熸垚绱㈠紩.
     *
     * @param doc 鐢熸垚鐨刣ocument.
     * @param indexDir 绱㈠紩鐩綍
     */
    public static void makeIndex(List docs, String indexDir)
    {
        if (null == docs)
        {
            return;
        }       
        boolean indexExist = indexExist(indexDir);

        IndexWriter writer = null;
        try
        {
            StandardAnalyzer analyzer = new StandardAnalyzer();
           
            //濡傛灉绱㈠紩瀛樺湪,灝辮拷鍔?濡傛灉涓嶅瓨鍦?灝卞緩绔嬫柊鐨勭儲寮?lucene瑕佹槸鑷姩鍒ゅ喅灝卞ソ浜?
            if(indexExist)
            {
                writer = new IndexWriter(indexDir, analyzer, false);
            }
            else
            {
                writer = new IndexWriter(indexDir, analyzer, true);
            }

            //娣誨姞涓鏉℃枃妗?br />             for (int i = 0; i < docs.size(); i++)
            {
                Document doc = (Document) docs.get(i);
                if (null != doc)
                {
                    writer.addDocument(doc);
                }
            }

            //绱㈠紩瀹屾垚鍚庣殑澶勭悊
            writer.optimize();
        }
        catch (IOException e)
        {
            LogMan.warn("Error in Make Index", e);
        }
        finally
        {
            try
            {
                if (null != writer)
                {
                    writer.close();
                }
            }
            catch (IOException e)
            {
                LogMan.warn("Close writer Error");
            }
        }
    }



 鍙互鐪嬪埌,寤虹珛绱㈠紩鐢ㄥ埌綾繪槸IndexWrite,瀹冨彲浠ユ柊寤虹儲寮曟垨鑰呰拷鍔犵儲寮?浣嗘槸闇瑕佽嚜宸卞垽鏂?鍒ゆ柇鏄氳繃IndexReader榪欎釜綾繪潵瀹炵幇鐨?鍑芥暟濡備笅:

 

  /**
     * 媯鏌ョ儲寮曟槸鍚﹀瓨鍦?
     * @param indexDir
     * @return
     */
    public static boolean indexExist(String indexDir)
    {
        return IndexReader.indexExists(indexDir);
    }
 


 濡傛灉姣忔閮芥槸鏂板緩绱㈠紩鐨勮瘽,浼氭妸鍘熸潵鐨勮褰曞垹闄?鎴戝湪浣跨敤鐨勬椂鍊欎竴寮濮嬪氨娌℃湁娉ㄦ剰鍒?鍚庢潵瑙傚療浜嗕竴涓嬬儲寮曟枃浠?鎵嶅彂鐜拌繖涓棶棰?
 
 
 榪樺彲浠ョ湅鍒?寤虹珛绱㈠紩鏄粰鐢ㄦ埛鐨凞ocument瀵硅薄寤虹珛绱㈠紩,Document琛ㄧず绱㈠紩涓殑涓鏉℃枃妗h褰?閭d箞鎴戜滑濡備綍寤虹珛涓涓枃妗i偅?浠ユ柊闂葷郴緇熶負渚?浠g爜濡備笅:
 

     /**
      * 鐢熸垚鏂伴椈鐨凞ocument.
      *
      * @param aNews 涓鏉℃柊闂?
      *
      * @return lucene鐨勬枃妗e璞?br />       */
     public static Document makeNewsSearchDocument(NewsItem aNews)
     {
         Document doc = new Document();
 
         doc.add(Field.Keyword("nid", String.valueOf(aNews.getNid())));
 
         doc.add(Field.Text("title", aNews.getTitle()));
        
         //瀵笻tml榪涜瑙f瀽,濡傛灉涓嶆槸html,鍒欎笉闇瑕佽В鏋?鎴栬呮牴鎹牸寮忚皟鐢ㄨ嚜宸辯殑瑙f瀽鏂規(guī)硶
         String content = parseHtmlContent(aNews.getContent());
 
         doc.add(Field.UnStored("content", content));
 
         doc.add(Field.Keyword("addtime", aNews.getAddtime()));
 
         //鍙互鍔犲叆鍏朵粬鐨勫唴瀹?渚嬪鏂伴椈鐨勮瘎璁虹瓑
         doc.add(Field.UnStored("other", ""));
 
         //璁塊棶url
         String newsUrl = "/srun/news/viewhtml/" + aNews.getHtmlFilePath() + "/" + aNews.getNid()
                         + ".htm";
 
         doc.add(Field.UnIndexed("visiturl", newsUrl));
 
         return doc;
     }


 
 閫氳繃涓婇潰鐨勪唬鐮?鎴戜滑鎶婁竴鏉℃柊闂昏漿鎹負lucene鐨凞ocument瀵硅薄,浠庤岃繘琛岀儲寮曞伐浣?鍦ㄤ笂闈㈢殑浠g爜涓?鎴戜滑鍙堝紩鍏ヤ簡lucene涓殑Field(瀛楁)綾?Document鏂囨。灝卞儚鏁版嵁搴撲腑鐨勪竴鏉¤褰?瀹冩湁寰堝瀛楁,姣忎釜瀛楁鏄竴涓狥ield瀵硅薄.
 
 浠庡埆鐨勬枃绔犳憳鎶勪竴孌靛叧浜嶧ield鐨勮鏄?鎽樻妱鑷?a href="http://www.tkk7.com/cap/archive/2005/07/17/7849.html">http://www.tkk7.com/cap/archive/2005/07/17/7849.html):
 [quote]
    綾誨瀷                               Analyzed Indexed Stored 璇存槑
    Field.Keyword(String,String/Date)  N Y Y                    榪欎釜Field鐢ㄦ潵鍌ㄥ瓨浼氱洿鎺ョ敤鏉ユ绱㈢殑姣斿(緙栧彿,濮撳悕,鏃ユ湡絳?
    Field.UnIndexed(String,String)     N N Y                    涓嶄細鐢ㄦ潵媯绱㈢殑淇℃伅,浣嗘槸媯绱㈠悗闇瑕佹樉紺虹殑,姣斿,紜歡搴忓垪鍙?鏂囨。鐨剈rl鍦板潃
    Field.UnStored(String,String)      Y Y N                    澶ф鏂囨湰鍐呭,浼氱敤鏉ユ绱?浣嗘槸媯绱㈠悗涓嶉渶瑕佷粠index涓彇鍐呭,鍙互鏍規(guī)嵁url鍘籰oad鐪熷疄鐨勫唴瀹?
    Field.Text(String,String)          Y Y Y                    媯绱?鑾峰彇閮介渶瑕佺殑鍐呭,鐩存帴鏀緄ndex涓?涓嶈繃榪欐牱浼氬澶ndex
    Field.Text(String,Reader)          Y Y N                    濡傛灉鏄竴涓猂eader, lucene鐚滄祴鍐呭姣旇緝澶?浼氶噰鐢║nstored鐨勭瓥鐣?
 [/quote]
 
 鎴戜滑鍙互鐪嬪埌鏂伴椈鐨勭紪鍙鋒槸鐩存帴鐢ㄦ潵媯绱㈢殑,鎵浠ユ槸Keyword綾誨瀷鐨勫瓧孌?鏂伴椈鐨勬爣棰樻槸闇瑕佹绱㈠拰鏄劇ず鐢ㄧ殑,鎵浠ユ槸Text綾誨瀷,鑰屾柊闂葷殑鍐呭鍥犱負鏄疕tml鏍煎紡鐨?鎵浠ュ湪緇忚繃瑙f瀽鍣ㄧ殑澶勭悊鐢?浣跨敤鐨刄nStored鐨勬牸寮?鑰屾柊闂葷殑鏃墮棿鏄洿鎺ョ敤鏉ユ绱㈢殑,鎵浠ユ槸KeyWord綾誨瀷.涓轟簡鍦ㄦ柊闂葷儲寮曞悗鐢ㄦ埛鍙互璁塊棶鍒板畬鏁寸殑鏂伴椈欏甸潰,榪樿緗簡涓涓猆nIndexed綾誨瀷鐨勮闂湴鍧瀛楁.
 
 (瀵笻tml榪涜瑙f瀽鐨勫鐞嗙◢鍚庡湪榪涜璁茶В)
 
 涓轟竴鏉℃柊闂誨緩绔嬬儲寮曢渶瑕佷袱涓楠?鑾峰彇Document,浼犵粰makeIndex鍑芥暟,浠g爜濡備笅:

    public static void makeNewsInfoIndex(NewsItem aNews)
    {
        if (null == aNews)
        {
            return;
        }
        makeIndex(makeNewsSearchDocument(aNews),indexDir);
    }  


 

 
 
 寤虹珛绱㈠紩鐨勫伐浣滃氨榪涜瀹屼簡,鍙鍦ㄥ鍔犳柊闂誨悗璋冪敤 makeNewsInfoIndex(newsitem); 灝卞彲浠ュ緩绔嬬儲寮曚簡.
 
 濡傛灉闇瑕佸垹闄ゆ柊闂?閭d箞涔熻鍒犻櫎瀵瑰簲鐨勭儲寮?鍒犻櫎绱㈠紩鏄氳繃IndexReader綾繪潵瀹屾垚鐨?
 


    /**
     * 鍒犻櫎绱㈠紩.
     * @param aTerm 绱㈠紩鍒犻櫎鏉′歡
     * @param indexDir 绱㈠紩鐩綍
     */
    public static void deleteIndex(Term aTerm, String indexDir)
    {
        List aList = new ArrayList();
        aList.add(aTerm);
        deleteIndex(aList, indexDir);
    }

    /**
     * 鍒犻櫎绱㈠紩.
     *
     * @param aTerm 绱㈠紩鍒犻櫎鏉′歡.
     * @param indexDir 绱㈠紩鐩綍
     * 
     */
    public static void deleteIndex(List terms, String indexDir)
    {
        if (null == terms)
        {
            return;
        }
       
        if(!indexExist(indexDir)) { return; }

        IndexReader reader = null;
        try
        {
            reader = IndexReader.open(indexDir);
            for (int i = 0; i < terms.size(); i++)
            {
                Term aTerm = (Term) terms.get(i);
                if (null != aTerm)
                {
                    reader.delete(aTerm);
                }
            }
        }
        catch (IOException e)
        {
            LogMan.warn("Error in Delete Index", e);
        }
        finally
        {
            try
            {
                if (null != reader)
                {
                    reader.close();
                }
            }
            catch (IOException e)
            {
                LogMan.warn("Close reader Error");
            }
        }
    } 


 
 鍒犻櫎绱㈠紩闇瑕佷竴涓潯浠?綾諱技鏁版嵁搴撲腑鐨勫瓧孌墊潯浠?渚嬪鍒犻櫎涓鏉℃柊闂葷殑浠g爜濡備笅:
 

     public static void deleteNewsInfoIndex(int nid)
     {
         Term aTerm = new Term("nid", String.valueOf(nid));
         deleteIndex(aTerm,indexDir);
     }   




 閫氳繃鏂伴椈鐨処D,灝卞彲浠ュ垹闄や竴鏉℃柊闂?
 
 濡傛灉闇瑕佹洿鏂版柊闂?濡備綍鏇存柊绱㈠紩鍝? 鏇存柊绱㈠紩闇瑕佸厛鍒犻櫎绱㈠紩鐒跺悗鏂板緩绱㈠紩2涓楠?鍏跺疄灝辨槸鎶婁笂闈㈢殑浠g爜緇勫悎璧鋒潵,渚嬪鏇存柊涓鏉℃柊闂?

     public static void updateNewsInfoIndex(NewsItem aNews)
     {
         if (null == aNews)
         {
             return;
         }
         deleteNewsInfoIndex(aNews.getNid());
         makeNewsInfoIndex(aNews);
     } 
 



 
 鑷蟲,绱㈠紩鐨勫緩绔嬫洿鏂板拰鍒犻櫎灝卞憡涓孌佃惤浜?鍏朵腑鎵歸噺鏇存柊鏂伴椈鐨勪唬鐮佸涓?
 (鎵歸噺鏇存柊搴旇鍦ㄨ闂漢鏁板皯鎴栬呭悗鍙扮▼搴忓湪澶滈棿鎵ц)

    public static void makeAllNewsInfoIndex(List newsList)
    {
        List terms = new ArrayList();
        List docs = new ArrayList();

        for (int i = 0; i < newsList.size(); i++)
        {
            NewsItem aitem = (NewsItem) newsList.get(i);
            if (null != aitem)
            {
                terms.add(new Term("nid", String.valueOf(aitem.getNid())));
                docs.add(makeNewsSearchDocument(aitem));
            }
        }

        deleteIndex(terms,indexDir);
        makeIndex(docs,indexDir);
    } 



鐏? 2008-01-11 09:47 鍙戣〃璇勮
]]>
鍖呰浣犵殑Session錛屼嬌Session瀵硅薄鍖?http://www.tkk7.com/human2008/archive/2008/01/11/174498.html鐏?鐏?Fri, 11 Jan 2008 01:36:00 GMThttp://www.tkk7.com/human2008/archive/2008/01/11/174498.htmlhttp://www.tkk7.com/human2008/comments/174498.htmlhttp://www.tkk7.com/human2008/archive/2008/01/11/174498.html#Feedback0http://www.tkk7.com/human2008/comments/commentRss/174498.htmlhttp://www.tkk7.com/human2008/services/trackbacks/174498.html
 int userAge = (int)this.Session["UserAge"];
    
    鎴戜滑鐭ラ亾錛孲ession涓瓨鏀劇殑鏄敭鍊煎錛岄敭鏄痵tring綾誨瀷鐨勶紝濡傛灉鎴戜滑涓涓嶅皬蹇冩妸涓婇潰鐨勮鍙ュ啓鎴愯繖鏍鳳細
  int userAge = (int)this.Session["UseAge"];
    緙栬瘧鏈熶笉浼氬彂鐜拌繖涓敊璇紝浣嗚繍琛屾椂涓瀹氫細鎶涘嚭寮傚父錛岃繖鏄湪紼嬪簭涓洿鎺ユ搷浣淪ession鍙兘寮曞彂鐨勯棶棰樹箣涓銆傚彟澶栵紝姣忔鑾峰彇userAge鐨勬椂鍊欓兘瑕佸啓浠g爜榪涜寮哄埗杞崲錛屾劅瑙夊緢綣佺悙銆傛垜浠渶瑕佷竴涓В鍐蟲柟妗堟潵瑙e喅榪欎簺闂銆傛垜鐨勫仛娉曟槸寮曞叆涓涓猄ession鐨勫寘瑁咃紝浣夸箣瀵硅薄鍖栥佸己綾誨瀷鍖栥傚氨鍍忔帴涓嬫潵鐨勪緥瀛愪竴鏍鳳細
public class SessionHelper
{
    
private HttpSessionState curSession;

    
public SessionHelper(HttpSessionState session)
    {
        
this.curSession = session;
    }

    
public static SessionHelper CreateInstance(HttpSessionState session)
    {        
        
return new SessionHelper(session);
    }


    
public string UserID
    {
        
get
        {
            
return this.curSession["UserID"].ToString();
        }
        
set
        {
            
this.curSession["UserID"= value ;
        }
    }

    
public int UserAge
    {
        
get
        {
            
return (int)this.curSession["UserAge"];
        }
        
set
        {
            
this.curSession["UserAge"= value ;
        }
    }

    
//鏌愮敤鎴蜂笂浼犵殑鎵鏈夊浘鐗?/span>
    public ArrayList PicList
    {
        
get
        {
            
if (this.curSession["PicList"== null)
            {
                
this.curSession["PicList"= new ArrayList();
            }

            
return (ArraayList)this.curSession["PicList"];
        }       
    }

    
//娓呯┖鍥劇墖鍒楄〃
    public void ClearAllPics()
    {
        
this.PicList.Clear();
    }  
}

    榪欐牱錛屾垜浠敤璧鋒潵灝遍潪甯告柟渚夸簡錛?br />
       SessionHelper sessionHelper = SessionHelper.CreateInstance(this.Session);
        ArrayList picList 
= sessionHelper.PicList;
        
//    澶勭悊picList涓殑鍥劇墖
        sessionHelper.ClearAllPics();  

    寮曞叆榪欎竴灞傚寘瑁咃紝鍙互浣挎垜浠殑紼嬪簭鐨勫彲璇繪с佸彲緇存姢鎬ф洿濂斤紝鑰屼笖灝嗗師鏉ョ殑涓浜涜繍琛屾湡鐨勯敊璇彁鍓嶅埌浜嗙紪璇戞湡錛岃繖涔熸槸寮虹被鍨嬪甫鏉ョ殑濂藉銆?br />

鐏? 2008-01-11 09:36 鍙戣〃璇勮
]]>
榪唬鍣?http://www.tkk7.com/human2008/archive/2008/01/10/174228.html鐏?鐏?Thu, 10 Jan 2008 03:42:00 GMThttp://www.tkk7.com/human2008/archive/2008/01/10/174228.htmlhttp://www.tkk7.com/human2008/comments/174228.htmlhttp://www.tkk7.com/human2008/archive/2008/01/10/174228.html#Feedback0http://www.tkk7.com/human2008/comments/commentRss/174228.htmlhttp://www.tkk7.com/human2008/services/trackbacks/174228.html榪唬榪欎釜鍚嶈瘝瀵逛簬鐔熸?zhèn)塉ava鐨勪漢鏉ヨ緇濆涓嶉檶鐢熴傛垜浠父甯鎬嬌鐢↗DK鎻愪緵鐨勮凱浠f帴鍙h繘琛宩ava collection鐨勯亶鍘嗭細

Iterator it = list.iterator();
while(it.hasNext()){
銆//using “it.next();”do some businesss logic
}

銆銆鑰岃繖灝辨槸鍏充簬榪唬鍣ㄦā寮?a class="bluekey" target="_blank">搴旂敤寰堝ソ鐨勪緥瀛愩?br />
銆銆浜屻?瀹氫箟涓?a class="bluekey" target="_blank">緇撴瀯

銆銆榪唬鍣紙Iterator錛夋ā寮忥紝鍙堝彨鍋氭父鏍囷紙Cursor錛夋ā寮忋侴OF緇欏嚭鐨勫畾涔変負錛氭彁渚涗竴縐嶆柟娉曡闂竴涓鍣紙container錛夊璞′腑鍚勪釜鍏冪礌錛岃屽張涓嶉渶鏆撮湶璇ュ璞$殑鍐呴儴緇嗚妭銆?br />
銆銆浠庡畾涔夊彲瑙侊紝榪唬鍣ㄦā寮忔槸涓哄鍣ㄨ岀敓銆傚緢鏄庢樉錛屽瀹瑰櫒瀵硅薄鐨勮闂繀鐒舵秹鍙婂埌閬嶅巻綆楁硶銆備綘鍙互涓鑲¤剳鐨勫皢閬嶅巻鏂規(guī)硶濉炲埌瀹瑰櫒瀵硅薄涓幓錛涙垨鑰呮牴鏈笉鍘繪彁渚涗粈涔堥亶鍘嗙畻娉曪紝璁╀嬌鐢ㄥ鍣ㄧ殑浜鴻嚜宸卞幓瀹炵幇鍘誨惂銆傝繖涓ょ鎯呭喌濂藉儚閮借兘澶熻В鍐抽棶棰樸?br />
銆銆鐒惰屽湪鍓嶄竴縐嶆儏鍐碉紝瀹瑰櫒鎵垮彈浜嗚繃澶氱殑鍔熻兘錛屽畠涓嶄粎瑕佽礋璐h嚜宸?#8220;瀹瑰櫒”鍐呯殑鍏冪礌緇存姢錛堟坊鍔犮佸垹闄ょ瓑絳夛級錛岃屼笖榪樿鎻愪緵閬嶅巻鑷韓鐨勬帴鍙o紱鑰屼笖鐢變簬閬嶅巻鐘舵佷繚瀛樼殑闂錛屼笉鑳藉鍚屼竴涓鍣ㄥ璞″悓鏃惰繘琛屽涓亶鍘嗐傜浜岀鏂瑰紡鍊掓槸鐪佷簨錛屽嵈鍙堝皢瀹瑰櫒鐨勫唴閮ㄧ粏鑺傛毚闇叉棤閬椼?br />
銆銆鑰岃凱浠e櫒妯″紡鐨勫嚭鐜幫紝寰堝ソ鐨勮В鍐充簡涓婇潰涓ょ鎯呭喌鐨勫紛绔傚厛鏉ョ湅涓嬭凱浠e櫒妯″紡鐨勭湡闈㈢洰鍚с?

銆銆榪唬鍣ㄦā寮忕敱浠ヤ笅瑙掕壊緇勬垚錛?br />
銆銆1) 榪唬鍣ㄨ鑹詫紙Iterator錛夛細榪唬鍣ㄨ鑹茶礋璐e畾涔夎闂拰閬嶅巻鍏冪礌鐨勬帴鍙c?br />
銆銆2) 鍏蜂綋榪唬鍣ㄨ鑹詫紙Concrete Iterator錛夛細鍏蜂綋榪唬鍣ㄨ鑹茶瀹炵幇榪唬鍣ㄦ帴鍙o紝騫惰璁板綍閬嶅巻涓殑褰撳墠浣嶇疆銆?br />
銆銆3) 瀹瑰櫒瑙掕壊錛圕ontainer錛夛細瀹瑰櫒瑙掕壊璐熻矗鎻愪緵鍒涘緩鍏蜂綋榪唬鍣ㄨ鑹茬殑鎺ュ彛銆?br />
銆銆4) 鍏蜂綋瀹瑰櫒瑙掕壊錛圕oncrete Container錛夛細鍏蜂綋瀹瑰櫒瑙掕壊瀹炵幇鍒涘緩鍏蜂綋榪唬鍣ㄨ鑹茬殑鎺ュ彛鈥斺旇繖涓叿浣撹凱浠e櫒瑙掕壊浜庤瀹瑰櫒鐨勭粨鏋勭浉鍏熾?br />
銆銆榪唬鍣ㄦā寮忕殑綾誨浘濡備笅錛?br />

銆銆浠庣粨鏋勪笂鍙互鐪嬪嚭錛岃凱浠e櫒妯″紡鍦ㄥ鎴蜂笌瀹瑰櫒涔嬮棿鍔犲叆浜嗚凱浠e櫒瑙掕壊銆傝凱浠e櫒瑙掕壊鐨勫姞鍏ワ紝灝卞彲浠ュ緢濂界殑閬垮厤瀹瑰櫒鍐呴儴緇嗚妭鐨勬毚闇詫紝鑰屼笖涔熶嬌寰楄璁$鍙?#8220;鍗曚竴鑱岃矗鍘熷垯”銆?br />
銆銆娉ㄦ剰錛屽湪榪唬鍣ㄦā寮忎腑錛屽叿浣撹凱浠e櫒瑙掕壊鍜屽叿浣撳鍣ㄨ鑹叉槸鑰﹀悎鍦ㄤ竴璧風殑鈥斺旈亶鍘嗙畻娉曟槸涓庡鍣ㄧ殑鍐呴儴緇嗚妭绱у瘑鐩稿叧鐨勩備負浜嗕嬌瀹㈡埛紼嬪簭浠庝笌鍏蜂綋榪唬鍣ㄨ鑹茶﹀悎鐨勫洶澧冧腑鑴辯鍑烘潵錛岄伩鍏嶅叿浣撹凱浠e櫒瑙掕壊鐨勬洿鎹㈢粰瀹㈡埛紼嬪簭甯︽潵鐨勪慨鏀癸紝榪唬鍣ㄦā寮忔娊璞′簡鍏蜂綋榪唬鍣ㄨ鑹詫紝浣垮緱瀹㈡埛紼嬪簭鏇村叿涓鑸у拰閲嶇敤鎬с傝繖琚О涓哄鎬佽凱浠c?br />
銆銆涓夈?涓句緥

銆銆鐢變簬榪唬鍣ㄦā寮忔湰韜殑瑙勫畾姣旇緝鏉炬暎錛屾墍浠ュ叿浣撳疄鐜頒篃灝變簲鑺卞叓闂ㄣ傛垜浠湪姝や粎涓句竴渚嬶紝鏍規(guī)湰涓嶈兘灝嗗疄鐜版柟寮忎竴涓鍛堢幇銆傚洜姝ゅ湪涓句緥鍓嶏紝鎴戜滑鍏堟潵鍒椾婦涓嬭凱浠e櫒妯″紡鐨勫疄鐜版柟寮忋?

銆銆1錛庤凱浠e櫒瑙掕壊瀹氫箟浜嗛亶鍘嗙殑鎺ュ彛錛屼絾鏄病鏈夎瀹氱敱璋佹潵鎺у埗榪唬銆傚湪Java collection鐨勫簲鐢ㄤ腑錛屾槸鐢卞鎴風▼搴忔潵鎺у埗閬嶅巻鐨勮繘紼嬶紝琚О涓哄閮ㄨ凱浠e櫒錛涜繕鏈変竴縐嶅疄鐜版柟寮忎究鏄敱榪唬鍣ㄨ嚜韜潵鎺у埗榪唬錛岃縐頒負鍐呴儴榪唬鍣ㄣ傚閮ㄨ凱浠e櫒瑕佹瘮鍐呴儴榪唬鍣ㄧ伒媧匯佸己澶э紝鑰屼笖鍐呴儴榪唬鍣ㄥ湪java璇█鐜涓紝鍙敤鎬у緢寮便?br />
銆銆2錛庡湪榪唬鍣ㄦā寮忎腑娌℃湁瑙勫畾璋佹潵瀹炵幇閬嶅巻綆楁硶銆傚ソ鍍忕悊鎵褰撶劧鐨勮鍦ㄨ凱浠e櫒瑙掕壊涓疄鐜般傚洜涓烘棦渚夸簬涓涓鍣ㄤ笂浣跨敤涓嶅悓鐨勯亶鍘嗙畻娉曪紝涔熶究浜庡皢涓縐嶉亶鍘嗙畻娉曞簲鐢ㄤ簬涓嶅悓鐨勫鍣ㄣ備絾鏄繖鏍峰氨鐮村潖鎺変簡瀹瑰櫒鐨勫皝瑁呪斺斿鍣ㄨ鑹插氨瑕佸叕寮鑷繁鐨勭鏈夊睘鎬э紝鍦╦ava涓究鎰忓懗鐫鍚戝叾浠栫被鍏紑浜嗚嚜宸辯殑縐佹湁灞炴с?br />
銆銆閭f垜浠妸瀹冩斁鍒板鍣ㄨ鑹查噷鏉ュ疄鐜板ソ浜嗐傝繖鏍瘋凱浠e櫒瑙掕壊灝辮鏋剁┖涓轟粎浠呭瓨鏀句竴涓亶鍘嗗綋鍓嶄綅緗殑鍔熻兘銆備絾鏄亶鍘嗙畻娉曚究鍜岀壒瀹氱殑瀹瑰櫒绱х揣緇戝湪涓璧蜂簡銆?br />
銆銆鑰屽湪Java Collection鐨勫簲鐢ㄤ腑錛屾彁渚涚殑鍏蜂綋榪唬鍣ㄨ鑹叉槸瀹氫箟鍦ㄥ鍣ㄨ鑹蹭腑鐨勫唴閮ㄧ被銆傝繖鏍蜂究淇濇姢浜嗗鍣ㄧ殑灝佽銆備絾鏄悓鏃跺鍣ㄤ篃鎻愪緵浜嗛亶鍘嗙畻娉曟帴鍙o紝浣犲彲浠ユ墿灞曡嚜宸辯殑榪唬鍣ㄣ?br />
銆銆濂戒簡錛屾垜浠潵鐪嬩笅Java Collection涓殑榪唬鍣ㄦ槸鎬庝箞瀹炵幇鐨勫惂銆?br />
//榪唬鍣ㄨ鑹詫紝浠呬粎瀹氫箟浜嗛亶鍘嗘帴鍙?br />
public interface Iterator {
銆boolean hasNext();
銆Object next();
銆void remove();
}

//瀹瑰櫒瑙掕壊錛岃繖閲屼互List涓轟緥銆傚畠涔熶粎浠呮槸涓涓帴鍙o紝灝變笉緗楀垪鍑烘潵浜?br /> //鍏蜂綋瀹瑰櫒瑙掕壊錛屼究鏄疄鐜頒簡List鎺ュ彛鐨?a class="bluekey" target="_blank">ArrayList絳夌被銆備負浜嗙獊鍑洪噸鐐硅繖閲屾寚緗楀垪鍜岃凱浠e櫒鐩稿叧鐨勫唴瀹?br /> //鍏蜂綋榪唬鍣ㄨ鑹詫紝瀹冩槸浠ュ唴閮ㄧ被鐨勫艦寮忓嚭鏉ョ殑銆侫bstractList鏄負浜嗗皢鍚勪釜鍏蜂綋瀹瑰櫒瑙掕壊鐨?a class="bluekey" target="_blank">鍏叡閮ㄥ垎鎻愬彇鍑烘潵鑰屽瓨鍦ㄧ殑銆?br />
public abstract class AbstractList extends AbstractCollection implements List {
……
//榪欎釜渚挎槸璐熻矗鍒涘緩鍏蜂綋榪唬鍣ㄨ鑹茬殑宸ュ巶鏂規(guī)硶
public Iterator iterator() {
銆return new Itr();
}

//浣滀負鍐呴儴綾葷殑鍏蜂綋榪唬鍣ㄨ鑹?br />
private class Itr implements Iterator {
銆int cursor = 0;
銆int lastRet = -1;
銆int expectedModCount = modCount;

銆public boolean hasNext() {
銆銆return cursor != size();
銆}

銆public Object next() {
銆銆checkForComodification();
銆銆try {
銆銆銆Object next = get(cursor);
銆銆銆lastRet = cursor++;
銆銆銆return next;
銆銆} catch(IndexOutOfBoundsException e) {
銆銆銆checkForComodification();
銆銆銆throw new NoSuchElementException();
銆銆}
銆}

銆public void remove() {
銆銆if (lastRet == -1)
銆銆銆throw new IllegalStateException();
銆銆銆checkForComodification();

銆銆try {
銆銆銆AbstractList.this.remove(lastRet);
銆銆銆if (lastRet < cursor)
銆銆銆銆cursor--;
銆銆銆lastRet = -1;
銆銆銆expectedModCount = modCount;
銆銆} catch(IndexOutOfBoundsException e) {
銆銆銆throw new ConcurrentModificationException();
銆銆}
銆}

銆final void checkForComodification() {
銆銆if (modCount != expectedModCount)
銆銆銆throw new ConcurrentModificationException();
銆}
}

銆銆鑷充簬榪唬鍣ㄦā寮忕殑浣跨敤銆傛濡傚紩璦涓墍鍒楅偅鏍鳳紝瀹㈡埛紼嬪簭瑕佸厛寰楀埌鍏蜂綋瀹瑰櫒瑙掕壊錛岀劧鍚庡啀閫氳繃鍏蜂綋瀹瑰櫒瑙掕壊寰楀埌鍏蜂綋榪唬鍣ㄨ鑹層傝繖鏍蜂究鍙互浣跨敤鍏蜂綋榪唬鍣ㄨ鑹叉潵閬嶅巻瀹瑰櫒浜?#8230;…

銆銆鍥涖?瀹炵幇鑷繁鐨勮凱浠e櫒

銆銆鍦ㄥ疄鐜拌嚜宸辯殑榪唬鍣ㄧ殑鏃跺欙紝涓鑸鎿嶄綔鐨勫鍣ㄦ湁鏀寔鐨勬帴鍙f墠鍙互銆傝屼笖鎴戜滑榪樿娉ㄦ剰浠ヤ笅闂錛?

銆銆鍦ㄨ凱浠e櫒閬嶅巻鐨勮繃紼嬩腑錛岄氳繃璇ヨ凱浠e櫒榪涜瀹瑰櫒鍏冪礌鐨勫鍑忔搷浣滄槸鍚﹀畨鍏ㄥ憿錛?br />
銆銆鍦ㄥ鍣ㄤ腑瀛樺湪澶嶅悎瀵硅薄鐨勬儏鍐碉紝榪唬鍣ㄦ庢牱鎵嶈兘鏀寔娣卞眰閬嶅巻鍜屽縐嶉亶鍘嗗憿錛?br />
銆銆浠ヤ笂涓や釜闂瀵逛簬涓嶅悓緇撴瀯鐨勫鍣ㄨ鑹詫紝鍚勪笉鐩稿悓錛屽煎緱鑰冭檻銆?br />
銆銆浜斻?閫傜敤鎯呭喌

銆銆鐢變笂闈㈢殑璁茶堪錛屾垜浠彲浠ョ湅鍑鴻凱浠e櫒妯″紡緇欏鍣ㄧ殑搴旂敤甯︽潵浠ヤ笅濂藉錛?br />
銆銆1) 鏀寔浠ヤ笉鍚岀殑鏂瑰紡閬嶅巻涓涓鍣ㄨ鑹層傛牴鎹疄鐜版柟寮忕殑涓嶅悓錛屾晥鏋滀笂浼氭湁宸埆銆?br />
銆銆2) 綆鍖栦簡瀹瑰櫒鐨勬帴鍙c備絾鏄湪java Collection涓負浜嗘彁楂樺彲鎵╁睍鎬э紝瀹瑰櫒榪樻槸鎻愪緵浜嗛亶鍘嗙殑鎺ュ彛銆?br />
銆銆3) 瀵瑰悓涓涓鍣ㄥ璞★紝鍙互鍚屾椂榪涜澶氫釜閬嶅巻銆傚洜涓洪亶鍘嗙姸鎬佹槸淇濆瓨鍦ㄦ瘡涓涓凱浠e櫒瀵硅薄涓殑銆?br />
銆銆鐢辨涔熻兘寰楀嚭榪唬鍣ㄦā寮忕殑閫傜敤鑼冨洿錛?br />
銆銆1) 璁塊棶涓涓鍣ㄥ璞$殑鍐呭鑰屾棤闇鏆撮湶瀹冪殑鍐呴儴琛ㄧず銆?br />
銆銆2) 鏀寔瀵瑰鍣ㄥ璞$殑澶氱閬嶅巻銆?br />
銆銆3) 涓洪亶鍘嗕笉鍚岀殑瀹瑰櫒緇撴瀯鎻愪緵涓涓粺涓鐨勬帴鍙o紙澶氭佽凱浠o級銆?br />
銆銆鍏?鎬葷粨

銆銆榪唬鍣ㄦā寮忓湪鎴戜滑鐨勫簲鐢ㄤ腑寰堝箍娉涳紝甯屾湜鏈枃鑳藉府鍔╀綘鐞嗚В瀹冦傚鏈変笉瀵逛箣澶勶紝榪樿涓嶅悵鎸囨銆?

鐏? 2008-01-10 11:42 鍙戣〃璇勮
]]>
JAVA鏁版嵁綾誨瀷杞崲 http://www.tkk7.com/human2008/archive/2008/01/10/174224.html鐏?鐏?Thu, 10 Jan 2008 03:38:00 GMThttp://www.tkk7.com/human2008/archive/2008/01/10/174224.htmlhttp://www.tkk7.com/human2008/comments/174224.htmlhttp://www.tkk7.com/human2008/archive/2008/01/10/174224.html#Feedback0http://www.tkk7.com/human2008/comments/commentRss/174224.htmlhttp://www.tkk7.com/human2008/services/trackbacks/174224.html鍩烘湰綾誨瀷鏈変互涓嬪洓縐嶏細
int闀垮害鏁版嵁綾誨瀷鏈夛細byte(8bits)銆乻hort(16bits)銆乮nt(32bits)銆乴ong(64bits)銆?br /> float闀垮害鏁版嵁綾誨瀷鏈夛細鍗曠簿搴︼紙32bits float錛夈佸弻綺懼害錛?4bits double錛?br /> boolean綾誨瀷鍙橀噺鐨勫彇鍊兼湁錛歵ure銆乫alse
char鏁版嵁綾誨瀷鏈夛細unicode瀛楃,16浣?br /> 瀵瑰簲鐨勭被綾誨瀷錛?br /> Integer銆丗loat銆丅oolean銆丆haracter銆丏ouble銆丼hort銆丅yte銆丩ong


杞崲鍘熷垯錛?br /> 浠庝綆綺懼害鍚戦珮綺懼害杞崲
byte 銆乻hort銆乮nt銆乴ong銆乫loat銆乨ouble銆乧har
娉細涓や釜char鍨嬭繍綆楁椂錛岃嚜鍔ㄨ漿鎹負int鍨嬶紱褰揷har涓庡埆鐨勭被鍨嬭繍綆楁椂錛屼篃浼氬厛鑷姩杞崲涓篿nt鍨嬬殑錛屽啀鍋氬叾瀹冪被鍨嬬殑鑷姩杞崲

鍩烘湰綾誨瀷鍚戠被綾誨瀷杞崲

姝e悜杞崲錛?br /> 閫氳繃綾誨寘瑁呭櫒鏉ew鍑轟竴涓柊鐨勭被綾誨瀷鐨勫彉閲?br /> Integer a= new Integer(2);

鍙嶅悜杞崲錛?br /> 閫氳繃綾誨寘瑁呭櫒鏉ヨ漿鎹?br /> int b=a.intValue();
綾葷被鍨嬪悜瀛楃涓茶漿鎹?/p>


姝e悜杞崲錛?br /> 鍥犱負姣忎釜綾婚兘鏄痮bject綾葷殑瀛愮被錛岃屾墍鏈夌殑object綾婚兘鏈変竴涓猼oString()鍑芥暟錛屾墍浠ラ氳繃toString()鍑芥暟鏉ヨ漿鎹㈠嵆鍙?/p>

鍙嶅悜杞崲錛?br /> 閫氳繃綾誨寘瑁呭櫒new鍑轟竴涓柊鐨勭被綾誨瀷鐨勫彉閲?br /> eg1: int i=Integer.valueOf(“123”).intValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狪nteger瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刬ntValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑int鏁板箋?br /> eg2: float f=Float.valueOf(“123”).floatValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狥loat瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刦loatValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑float鏁板箋?br /> eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狟oolean瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刡ooleanValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑boolean鏁板箋?br /> eg4:Double d=Double.valueOf(“123”).doubleValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狣ouble瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刣oubleValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑double鏁板箋?br /> eg5: long l=Long.valueOf(“123”).longValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狶ong瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刲ongValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑long鏁板箋?br /> eg6: char=Character.valueOf(“123”).charValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狢haracter瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刢harValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑char鏁板箋?/p>


鍩烘湰綾誨瀷鍚戝瓧絎︿覆鐨勮漿鎹?/p>

姝e悜杞崲錛?br /> 濡傦細int a=12;
String b;
b=a+””;

鍙嶅悜杞崲錛?br /> 閫氳繃綾誨寘瑁呭櫒
eg1:
int i=Integer.parseInt(“123”)
璇存槑錛氭鏂規(guī)硶鍙兘閫傜敤浜庡瓧絎︿覆杞寲鎴愭暣鍨嬪彉閲?br /> eg2: float f=Float.valueOf(“123”).floatValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狥loat瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刦loatValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑float鏁板箋?br /> eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狟oolean瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刡ooleanValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑boolean鏁板箋?br /> eg4:Double d=Double.valueOf(“123”).doubleValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狣ouble瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刣oubleValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑double鏁板箋?br /> eg5: long l=Long.valueOf(“123”).longValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狶ong瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刲ongValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑long鏁板箋?br /> eg6: char=Character.valueOf(“123”).charValue()
璇存槑錛氫笂渚嬫槸灝嗕竴涓瓧絎︿覆杞寲鎴愪竴涓狢haracter瀵硅薄錛岀劧鍚庡啀璋冪敤榪欎釜瀵硅薄鐨刢harValue()鏂規(guī)硶榪斿洖鍏跺搴旂殑char鏁板箋?/p>

鐏? 2008-01-10 11:38 鍙戣〃璇勮
]]>
java 鏁版嵁搴撳熀鏈搷浣?http://www.tkk7.com/human2008/archive/2008/01/10/174222.html鐏?鐏?Thu, 10 Jan 2008 03:37:00 GMThttp://www.tkk7.com/human2008/archive/2008/01/10/174222.htmlhttp://www.tkk7.com/human2008/comments/174222.htmlhttp://www.tkk7.com/human2008/archive/2008/01/10/174222.html#Feedback0http://www.tkk7.com/human2008/comments/commentRss/174222.htmlhttp://www.tkk7.com/human2008/services/trackbacks/174222.html鏁版嵁搴?/font>鍩烘湰鎿嶄綔

銆銆1銆乯ava鏁版嵁搴?/font>鎿嶄綔鍩烘湰嫻佺▼

銆銆2銆佸嚑涓父鐢ㄧ殑閲嶈鎶宸э細

銆銆·鍙粴鍔ㄣ佹洿鏂扮殑璁板綍闆?/p>

銆銆·鎵歸噺鏇存柊

銆銆·浜嬪姟澶勭悊

銆銆java鏁版嵁搴?/font>鎿嶄綔鍩烘湰嫻佺▼錛氬彇寰?a target="_blank">鏁版嵁搴?/font>榪炴帴 - 鎵цsql璇彞 - 澶勭悊鎵ц緇撴灉 - 閲婃斁鏁版嵁搴?/font>榪炴帴

銆銆1銆佸彇寰?a target="_blank">鏁版嵁搴?/font>榪炴帴

銆銆1)鐢―riverManager鍙?a target="_blank">鏁版嵁搴?/font>榪炴帴

銆銆渚嬪瓙

銆銆String className,url,uid,pwd;

銆銆className = "oracle.jdbc.driver.OracleDriver";

銆銆url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;

銆銆uid = "system";

銆銆pwd = "manager";

銆銆Class.forName(className);

銆銆Connection cn = DriverManager.getConnection(url,uid,pwd);

銆銆2)鐢╦ndi(java鐨勫懡鍚嶅拰鐩綍鏈嶅姟)鏂瑰紡

銆銆渚嬪瓙

銆銆String jndi = "jdbc/db";

銆銆Context ctx = (Context) new InitialContext().lookup("java:comp/env");

銆銆DataSource ds = (DataSource) ctx.lookup(jndi);

銆銆Connection cn = ds.getConnection();

銆銆澶氱敤浜巎sp涓?/p>

銆銆2銆佹墽琛宻ql璇彞

銆銆1)鐢⊿tatement鏉ユ墽琛宻ql璇彞

銆銆String sql;

銆銆Statement sm = cn.createStatement();

銆銆sm.executeQuery(sql); // 鎵ц鏁版嵁鏌ヨ璇彞(select)

銆銆sm.executeUpdate(sql); // 鎵ц鏁版嵁鏇存柊璇彞(delete銆乽pdate銆乮nsert銆乨rop絳?statement.close();

銆銆2)鐢≒reparedStatement鏉ユ墽琛宻ql璇彞

銆銆String sql;

銆銆sql = "insert into user (id,name) values (?,?)";

銆銆PreparedStatement ps = cn.prepareStatement(sql);

銆銆ps.setInt(1,xxx);

銆銆ps.setString(2,xxx);

銆銆...

銆銆ResultSet rs = ps.executeQuery(); // 鏌ヨ

銆銆int c = ps.executeUpdate(); // 鏇存柊

銆銆3銆佸鐞嗘墽琛岀粨鏋?/strong>

銆銆鏌ヨ璇彞錛岃繑鍥炶褰曢泦ResultSet

銆銆鏇存柊璇彞錛岃繑鍥炴暟瀛楋紝琛ㄧず璇ユ洿鏂板獎鍝嶇殑璁板綍鏁?/p>

銆銆ResultSet鐨勬柟娉?/p>

銆銆1銆乶ext()錛屽皢娓告爣寰鍚庣Щ鍔ㄤ竴琛岋紝濡傛灉鎴愬姛榪斿洖true;鍚﹀垯榪斿洖false

銆銆2銆乬etInt("id")鎴杇etSting("name")錛岃繑鍥炲綋鍓嶆父鏍囦笅鏌愪釜瀛楁鐨勫?/p>

銆銆4銆侀噴鏀捐繛鎺?/strong>

銆銆cn.close();

銆銆涓鑸紝鍏堝叧闂璕esultSet錛岀劧鍚庡叧闂璖tatement(鎴栬匬reparedStatement);鏈鍚庡叧闂瑿onnection

銆銆鍙粴鍔ㄣ佹洿鏂扮殑璁板綍闆?/p>

銆銆1銆佸垱寤哄彲婊氬姩銆佹洿鏂扮殑Statement

銆銆Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY);

銆銆璇tatement鍙栧緱鐨凴esultSet灝辨槸鍙粴鍔ㄧ殑

銆銆2銆佸垱寤篜reparedStatement鏃舵寚瀹氬弬鏁?/p>

銆銆PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

銆銆ResultSet.absolute(9000);

銆銆·鎵歸噺鏇存柊

銆銆1銆丼tatement

銆銆Statement sm = cn.createStatement();

銆銆sm.addBatch(sql1);

銆銆sm.addBatch(sql2);

銆銆...

銆銆sm.executeBatch()

銆銆涓涓猄tatement瀵硅薄錛屽彲浠ユ墽琛屽涓猻ql璇彞浠ュ悗錛屾壒閲忔洿鏂般傝繖澶氫釜璇彞鍙互鏄痙elete銆乽pdate銆乮nsert絳夋垨鍏兼湁

銆銆2銆丳reparedStatement

銆銆PreparedStatement ps = cn.preparedStatement(sql);

銆銆{

銆銆ps.setXXX(1,xxx);

銆銆...

銆銆ps.addBatch();

銆銆}

銆銆ps.executeBatch();

銆銆涓涓狿reparedStatement錛屽彲浠ユ妸涓涓猻ql璇彞錛屽彉鎹㈠弬鏁板嬈℃墽琛岋紝涓嬈℃洿鏂般?/p>

銆銆·浜嬪姟鐨勫鐞?/p>

銆銆1銆佸叧闂瑿onnection鐨勮嚜鍔ㄦ彁浜?/p>

銆銆cn.setAutoCommit(false);

銆銆2銆佹墽琛屼竴緋誨垪sql璇彞

銆銆瑕佺偣錛氭墽琛屾瘡涓涓柊鐨剆ql璇彞鍓嶏紝涓婁竴嬈℃墽琛宻ql璇彞鐨凷tatement(鎴栬匬reparedStatemet)蹇呴』鍏坈lose

銆銆Statement sm ;

銆銆sm = cn.createStatement(insert into user...);

銆銆sm.executeUpdate();

銆銆sm.close();

銆銆sm = cn.createStatement("insert into corp...);

銆銆sm.executeUpdate();

銆銆sm.close();

銆銆3銆佹彁浜?/p>

銆銆cn.commit();

銆銆4銆佸鏋滃彂鐢熷紓甯革紝閭d箞鍥炴粴

銆銆cn.rollback();



鐏? 2008-01-10 11:37 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲处破女AV日韩精品| 国产大片免费观看中文字幕| 久久亚洲欧洲国产综合| 国产亚洲日韩一区二区三区| 丰满亚洲大尺度无码无码专线| 西西人体大胆免费视频| 国产美女a做受大片免费| 国产亚洲综合成人91精品| 中文字幕成人免费高清在线视频| 57pao国产成永久免费视频 | 国产精品免费AV片在线观看| 久久影视综合亚洲| 国产成人精品日本亚洲专区6| 一本一道dvd在线观看免费视频| 18国产精品白浆在线观看免费| 亚洲人成人网站在线观看| 亚洲国产美女精品久久| 国产在线a免费观看| 亚洲中文字幕在线第六区| 最近中文字幕大全免费版在线| 凹凸精品视频分类国产品免费| 精品亚洲成AV人在线观看| 久久精品国产免费观看| 亚洲无吗在线视频| 俄罗斯极品美女毛片免费播放| 国产亚洲精aa在线看| 国产日产成人免费视频在线观看| 亚洲国产亚洲综合在线尤物| 国内一级一级毛片a免费| 亚洲大香人伊一本线| 欧洲美熟女乱又伦免费视频| 久久久久亚洲AV无码专区首JN| 久久久久女教师免费一区| 亚洲性色高清完整版在线观看| 国产免费AV片在线观看| 亚洲an日韩专区在线| 九月婷婷亚洲综合在线| 99在线观看视频免费| 亚洲AV无码一区东京热| 搡女人免费视频大全| 黄桃AV无码免费一区二区三区|