JUST DO IT ~

          我只想當個程序員

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

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

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

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

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

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

          getdate1(){?? }..

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

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


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

          初時日期 1999-8-31日
          調(diào)用 set(Calendar.MONTH, Calendar.SEPTEMBER)? 便更了數(shù)據(jù)模型了一部分
          因為不存在?? 9月31日?? 所以??? 1999 - 9 月 只有 30日
          一旦使用get方法返回 結(jié)果。那么重新計算獲得 10月1日 。
          (根據(jù)
          例如,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 日。
          調(diào)用 set(Calendar.MONTH, Calendar.SEPTEMBER) 將該日期設置為 1999 年 9 月 31 日。
          如果隨后調(diào)用 getTime(),那么這是分析 1999 年 10 月 1 日的一個暫時內(nèi)部表示。
          但是,在調(diào)用 getTime() 之前調(diào)用 set(Calendar.DAY_OF_MONTH, 30) 會將該日期
          設置為 1999 年 9 月 30 日,因為在調(diào)用 set() 之后沒有發(fā)生重新計算。


          ?

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

          導航

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

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 武穴市| 昆明市| 西安市| 郯城县| 林周县| 乐陵市| 凉城县| 鄂尔多斯市| 田东县| 田阳县| 肥乡县| 安宁市| 社会| 景德镇市| 焉耆| 怀集县| 锡林浩特市| 三门县| 广丰县| 西平县| 仁怀市| 洛南县| 藁城市| 儋州市| 韶关市| 长汀县| 平阳县| 九龙城区| 深泽县| 甘南县| 阜宁县| 永年县| 孙吴县| 娄烦县| 德保县| 囊谦县| 即墨市| 兴文县| 贡山| 穆棱市| 屏山县|