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 閱讀(6074) 評論(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
          主站蜘蛛池模板: 石台县| 巴南区| 泗洪县| 萨迦县| 新巴尔虎左旗| 夹江县| 新田县| 襄垣县| 合江县| 张掖市| 新晃| 武乡县| 铁力市| 万荣县| 津市市| 桂阳县| 石棉县| 四会市| 淄博市| 阿城市| 邮箱| 潮安县| 西峡县| 丽水市| 榆中县| 会泽县| 平武县| 通州区| 甘德县| 广宁县| 门源| 清流县| 兴安县| 迁安市| 铜陵市| 凤山县| 马龙县| 文山县| 南投市| 肃北| 石家庄市|