JUST DO IT ~

          我只想當個程序員

          關于 java.util.calender 設計時候一些想法

          關于 java.util.calender 設計時候一些想法

          new calender() 以后,考慮到性能 setday(), setyear() 都完成后,如果遇到要get 輸出才根據情況重新計算.

          如果我們遇到了設計一個處理信息的類,這個類有多個參與計算的要素,如果計算復雜,那就完全沒有必要經常重復計算。

          class a {
          private int data1; //數據元素1
          private long date2;? //數據元素2
          //變化標志? 如果true
          private boolean? flag;?

          setdate1 (){? flag =true; //元素變化過了? } ..

          getdate1(){?? }..

          process(){
          ? if(flag){
          ?? //確定更新后? 重新計算
          ? }
          }

          getresult(){
          ?? process();? // 計算性的結果
          ?? return ...
          ? }
          }


          calender 因為使用了這種計算方式的一些細節:

          初時日期 1999-8-31日
          調用 set(Calendar.MONTH, Calendar.SEPTEMBER)? 便更了數據模型了一部分
          因為不存在?? 9月31日?? 所以??? 1999 - 9 月 只有 30日
          一旦使用get方法返回 結果。那么重新計算獲得 10月1日 。
          (根據
          例如,lenient 模式下的 GregorianCalendar 將 MONTH == JANUARY、DAY_OF_MONTH == 32 解釋為 February 1。
          1月沒有 32天? 所以 就延后 1天 到了2月1日
          ?)

          2006年10月23日14:29:40


          下面這段來自 java 手冊翻譯。

          示例:假定 GregorianCalendar 最初被設置為 1999 年 8 月 31 日。
          調用 set(Calendar.MONTH, Calendar.SEPTEMBER) 將該日期設置為 1999 年 9 月 31 日。
          如果隨后調用 getTime(),那么這是分析 1999 年 10 月 1 日的一個暫時內部表示。
          但是,在調用 getTime() 之前調用 set(Calendar.DAY_OF_MONTH, 30) 會將該日期
          設置為 1999 年 9 月 30 日,因為在調用 set() 之后沒有發生重新計算。


          ?

          posted on 2006-10-23 14:35 小高 閱讀(843) 評論(0)  編輯  收藏 所屬分類: java基礎

          導航

          <2006年10月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 论坛| 介休市| 鹿邑县| 夏津县| 博白县| 大城县| 阳朔县| 错那县| 铁岭市| 张家港市| 化州市| 酒泉市| 集安市| 融水| 宁晋县| 西乌珠穆沁旗| 弥渡县| 吴旗县| 阳江市| 诏安县| 石楼县| 平凉市| 松滋市| 宝应县| 永仁县| 肥西县| 德格县| 永定县| 清远市| 娱乐| 宣城市| 禄丰县| 南木林县| 合肥市| 百色市| 留坝县| 武功县| 新源县| 晋州市| 故城县| 清河县|