cuiyi's blog(崔毅 crazycy)

          記錄點滴 鑒往事之得失 以資于發展
          數據加載中……

          java.util.List 真的會用么?看能作對否

          public class DynamicRemove {
            
          private List<String> generateList() {
            String[] figures 
          = new String[]{"1""2""3""4""5""6""7""8""9"};
            List
          <String> list = new ArrayList<String>();
              
          for (String figure : figures) 
                list.add(figure);
            
          return list;
          }

          public void test1() {
            List
          <String> loads = generateList();  
            
          if (null != loads && !loads.isEmpty()) {
              
          for (String load : loads) {
                System.out.println(load);            
                
          if (Integer.valueOf(load).intValue() ==3){
                  loads.remove(load);                        System.out.println(
          "====" + loads.get(2));
                }
              }
                      
              System.out.println(
          "size" + loads.size());    
            }
          }
              
              
          public static void main(String[] args) {
            DynamicRemove test 
          = new DynamicRemove();
            test.test1();
          }

          輸出為:
          你答對了么

          這樣呢?
          嘿嘿,是這樣么
          輸出呢?
          答案


          posted on 2007-09-14 19:55 crazycy 閱讀(6066) 評論(11)  編輯  收藏 所屬分類: JavaSE語言

          評論

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          能解釋一下嗎?用foreach和用原始的方法有什么不同嗎?
          2008-03-15 08:39 | 日月雨林

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          @日月雨林

          沒有不同,無非是范型的使用,可以減少遍歷編碼量和類型的轉化
          2008-03-15 16:31 | crazycy

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          今天我又遇到了一次,又一次把自己給害了很慘淡
          14:01:49,063 INFO [STDOUT] ------->>>>>>>>objList.size : 21
          14:01:49,069 ERROR [CxcExceptionHandler] Uncaught Error
          java.lang.IndexOutOfBoundsException: Index: 19, Size: 19

          Code::

          List objList = (List)getList(paramId1, paramId2);
          System.out.println("------->>>>>>>>objList.size : " + objList.size());
          if (1) {
          for (int i = 0, n = objList.size(); i < n; i++) {
          XBean dBean = (XBean)objList.get(i);
          Integer objId = (Integer)dBean.get("xid");
          if (objId.compareTo(new Integer("100")) == 0
          || (objId.compareTo(new Integer("200")) == 0)
          objList.remove(dBean);
          }
          }//end if block
          2008-03-17 14:10 | crazycy

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          個人覺得,不是說所有的封裝都是好的。
          一個東西在給你帶來好處的同時,也會給你帶來副作用。
          2008-03-25 14:27 | coffee

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          與時俱進,實踐中摸索,大家都認可的東西,并得以證實有譜,可以跟進
          2008-03-25 20:36 | crazycy

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          我的意思是,在使用一個新的東西的時候,一定要評估他的不足,切不可因為被鼓吹的好而忽略了它的副作用,這種忽略往往會造成你所設計的東西的先天不足而存在致命風險。
          2008-03-26 09:13 | coffee

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          曉得你的意思。
          但就此而言,代價無非是熟悉的挑戰度,和學習理解的成本。
          如果這個都覺得困難,那閱讀現在很多的與技術相關的東西都將有困難。
          頗會感慨:廉頗老已,雖能飯
          2008-03-26 10:55 | crazycy

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          如果認為代價是熟悉的挑戰,學習理解的成本,那就是誤解我的意思了。這些雖然會成為風險,卻往往都是可以見得到的,容易被人評估到的。
          而最可怕的風險則是隱藏的先天不足的。以Hibernate為例,他提高了開發進度,降低了業務邏輯與數據庫操作的耦合,增加了系統的層次性,但是卻也帶來了性能上的先天不足。對性能要求很高的就應該考慮使用其他方案。

          每一種便捷,必然是犧牲另外一種優點。決策的時候不僅僅要看到其優點,也要看到其缺點。才能確保不會落下先天的殘疾。

          2008-03-26 17:25 | coffee

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          呵呵,就你說的展開,任何的東西都是一種折衷,比如說技術,往往在一個可快速開發和長期維護的平衡上做取舍,這也是許多很快速開發的語言難以撼動java的一個因素。

          而優缺點,卻針對的應用的環境和背景;如果作一個簡單的應用,卻大動干戈的采用框架,不可取;如果做一個做完功能ok不需要維護的項目,快速開發如hibernate是一個很好的選擇;如果是遺留系統或者一個長遠一些如產品一樣的系統,就需要充分考慮。

          而如hibernate之類的,并非性能不高,因為結合cache技術,可以達到比jdbc還好的效果,而且相對來說容易維護。但是這個有一個前提,就是你的團隊里有能真正搞定hibernate的人,而非僅僅如大多數人停留在會用或者能用這個層次上。

          技術的選擇,優缺點很重要,但是所面臨的應用場景更為重要,相比之下,過度考慮也不是一個可取之路。
          2008-03-26 17:34 | crazycy

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          拜同。
          2008-03-27 15:53 | coffee

          # re: java.util.List 真的會用么?看能作對否  回復  更多評論   

          size1
          size2
          CurrentModifyException
          2009-06-02 14:37 | ff
          主站蜘蛛池模板: 宁乡县| 永昌县| 桐乡市| 页游| 双桥区| 靖西县| 古浪县| 于田县| 金川县| 电白县| 崇州市| 阳春市| 杨浦区| 建德市| 兴海县| 揭东县| 德化县| 白朗县| 海门市| 神池县| 施甸县| 靖宇县| 广饶县| 宁武县| 普兰店市| 荔波县| 河北省| 诸暨市| 喜德县| 定西市| 肥乡县| 朝阳区| 图们市| 漠河县| 望谟县| 彭州市| 阳朔县| 安阳县| 鞍山市| 景宁| 汕头市|