DANCE WITH JAVA

          開發出高質量的系統

          常用鏈接

          統計

          積分與排名

          好友之家

          最新評論

          推薦給大家一個很有趣的話題: Javaeye上的"奇技淫巧"

          從javaeye上看到一篇很有趣的文章<<奇技淫巧>>,鏈接在這里
          http://www.javaeye.com/topic/39694?page=1
          文中就一個問題提出了各種各樣的思路,很多人給出了自己的觀點,是個對人有啟發的話題。
          下邊是我想出的一個思路,就是利用jdk1.6的script支持,也算一個辦法吧。建議看完了上邊的討論再看
          我下邊的內容,要不可能不知道是什么意思。
              static double getOverall(Details[] arr ,String method){
                  
          double sum = 0;
                  
          try{
                      ScriptEngineManager factory 
          = new ScriptEngineManager();
                      ScriptEngine engine 
          = factory.getEngineByName("JavaScript");
                      
          for(int i=0;i<arr.length;i++){
                          engine.put(
          "obj", arr[i]);
                          Object obj 
          = engine.eval("obj."+method);
                          
          if (obj instanceof Double){
                              sum 
          += ((Double)obj).doubleValue();
                          }

                      }

                  }
          catch(Exception e){
                      e.printStackTrace();
                  }

                  
          return sum;
              }

              
              
          static double getOverallBalance(Details[] arr) {
                  
          return getOverall(arr,"getBalance()");
              }


              
          static double getOverallFixed(Details[] arr) {
                  
          return getOverall(arr,"getFixed()");
              }

              ..    
          最終的實現就是上邊的樣子,利用script我們能實現通過函數名來調用函數,其實內部和動態代理,反射
           的效果是一樣的。不過就是寫起來簡單,學習成本低。因為用java的人大部分是了解javascript的。

          posted on 2007-02-27 16:34 dreamstone 閱讀(3238) 評論(1)  編輯  收藏 所屬分類: jdk相關片段設計模式

          評論

          # re: 推薦給大家一個很有趣的話題: Javaeye上的"奇技淫巧" 2008-08-07 10:18 huanx

          厲害~  回復  更多評論   

          主站蜘蛛池模板: 临猗县| 大田县| 桑植县| 筠连县| 竹北市| 泸水县| 邹平县| 巨野县| 马尔康县| 饶河县| 日土县| 清水河县| 绥江县| 布尔津县| 五寨县| 女性| 灵武市| 建平县| 博客| 定西市| 合阳县| 汉阴县| 双流县| 安陆市| 勐海县| 南陵县| 土默特左旗| 阿拉善右旗| 山西省| 镇巴县| 鄂伦春自治旗| 大庆市| 察雅县| 乌审旗| 罗甸县| 科尔| 镇坪县| 嘉定区| 沐川县| 玛曲县| 隆尧县|