<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-42  評論-578  文章-1  trackbacks-0


    1、原始的DAO層的類:

    package com.test;

    public class UserDao {
        
        
    public void add(User user){
            
    //.保存實體的代碼
        }

        
        
    public User get(int id) {
            
    //.查詢實體的代碼
            return null;
        }


    }

    其中,User類代碼比較簡單,如下:

    package com.test;

    public class User {
        
        
    private int id;
        
    private String name;
        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }

        
    public String getName() {
            
    return name;
        }

        
    public void setName(String name) {
            
    this.name = name;
        }

        
    }

    2、我們將Dao層的類寫成范型的形式,有兩種寫法:
    其一、
    package com.test;

    public class EntityDao1 {
        
        
    public <T> void add(T t){
            
    //查詢實體的代碼
        }

        
        
    public <T,ID> T get(ID id){
            
    //.保存實體的代碼
            return null;
        }


    }
            范型一般用于方法的參數或者方法的返回值,上面的寫法,我們要使范型有效,就須在方法的返回類型前加入強制范型轉換。其中,add(T t)的參數用了范型,它的返回值是void型,就在void 前用強制類型轉換,即加上<T>,強制轉換成范型的形式,這樣就不會報錯了。而T get(ID id),由于它的參數和返回類型都用了范型,故要在返回類型T前強制轉換,即<T,ID>。

    其二,范型也可寫成以下形式:
    package com.test;

    public class EntityDao2<T,ID> {
        
        
    public void add(T t){
            
    //..保存實體的代碼
        }

        
        
    public T get(ID id){
            
    //.查詢實體的代碼
            return null;
        }


    }
    這種形式,是把范型聲明放在類中了,就不需每個方法都寫強制類型轉換。

    看實際需要,哪種方法方便就用哪種吧!范型給Java編程帶來了許多方便,好好利用,會達到事半功倍的效果。

    本文原創,轉載請注明出處,謝謝!http://www.tkk7.com/rongxh7(心夢帆影JavaEE技術博客)
        

    posted on 2009-05-27 02:47 心夢帆影 閱讀(3829) 評論(6)  編輯  收藏 所屬分類: JavaSE

    評論:
    # re: Java范型的兩種寫法 2009-05-27 09:44 | 于翔
    謝謝 學習了  回復  更多評論
      
    # re: Java范型的兩種寫法 2009-05-27 13:24 | Hadis
    我覺得方法一說的是聲明泛型方法
    而方法二是聲明泛型類 和強制類型轉換無關吧?  回復  更多評論
      
    # re: Java范型的兩種寫法 2009-05-27 18:01 | YXY
    比較常用第二種寫法,不過它也有一些限制:
    如:
    不應在靜態成員中引用封閉類型參數。
    不能用基本類型實例化泛型類型參數。
    不能在數據類型轉換或 instanceof 操作中使用“外露”類型參數。
    不能在 new 操作中使用“外露”類型參數。
    不能在類定義的 implements 或 extends 子句中使用“外露”類型參數  回復  更多評論
      
    # re: Java范型的兩種寫法 2009-05-28 14:43 | 奇山
    學習了。  回復  更多評論
      
    # re: Java范型的兩種寫法 2009-06-24 00:14 | realman
    可否第種舉個例子,光這么說不大好理解,先謝過.@YXY
      回復  更多評論
      
    # re: Java范型的兩種寫法 2010-10-15 22:47 | 心夢
    心夢  回復  更多評論
      
    主站蜘蛛池模板: 免费精品视频在线| 久久不见久久见免费视频7| 亚洲精品无码mv在线观看网站 | 亚洲国产高清国产拍精品| 亚洲av无码国产精品色在线看不卡| 2022免费国产精品福利在线| 亚洲AV日韩精品久久久久久久| 成年女人视频网站免费m| xxxx日本在线播放免费不卡| 亚洲成人在线免费观看| 四虎影视永久免费观看| 日韩精品无码一区二区三区免费| 亚洲精品欧美综合四区| 亚洲av无码一区二区三区乱子伦| 女性自慰aⅴ片高清免费| 野花香在线视频免费观看大全| 亚洲日韩国产AV无码无码精品| 国产v亚洲v天堂无码网站| 天天拍拍天天爽免费视频| 国产一区二区三区免费观看在线| 亚洲国产成人综合精品| 亚洲日韩乱码久久久久久| 亚洲女同成人AⅤ人片在线观看 | 香蕉视频在线观看免费国产婷婷| 成人电影在线免费观看| 国产精品亚洲一区二区三区久久 | 羞羞视频在线观看免费| 亚洲一卡二卡三卡| 国产AV日韩A∨亚洲AV电影| 久久精品国产亚洲香蕉| 亚洲av麻豆aⅴ无码电影| 美女视频黄的全免费视频网站| 91在线视频免费观看| 无忧传媒视频免费观看入口| 亚洲国产成人久久| 亚洲AV无码成人精品区蜜桃| 亚洲精品偷拍视频免费观看 | 日本免费中文字幕在线看| 99无码人妻一区二区三区免费| 中文字幕无码免费久久9一区9| 国产亚洲精品91|