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 小高 閱讀(848) 評論(0)  編輯  收藏 所屬分類: java基礎

          導航

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

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 禹州市| 怀柔区| 东台市| 田林县| 福州市| 新余市| 信宜市| 耒阳市| 溧水县| 当阳市| 池州市| 页游| 抚州市| 潮安县| 西青区| 瑞安市| 皮山县| 嘉祥县| 泸溪县| 海兴县| 兰溪市| 侯马市| 双城市| 吉安市| 揭阳市| 驻马店市| 固始县| 平定县| 黑山县| 南川市| 兴仁县| 来宾市| 潮州市| 荃湾区| 塘沽区| 浙江省| 辉县市| 桂阳县| 成都市| 尚义县| 河池市|