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

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

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

    隨筆-42  評(píng)論-578  文章-1  trackbacks-0


    1、原始的DAO層的類(lèi):

    package com.test;

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

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


    }

    其中,User類(lèi)代碼比較簡(jiǎn)單,如下:

    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層的類(lèi)寫(xiě)成范型的形式,有兩種寫(xiě)法:
    其一、
    package com.test;

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

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


    }
            范型一般用于方法的參數(shù)或者方法的返回值,上面的寫(xiě)法,我們要使范型有效,就須在方法的返回類(lèi)型前加入強(qiáng)制范型轉(zhuǎn)換。其中,add(T t)的參數(shù)用了范型,它的返回值是void型,就在void 前用強(qiáng)制類(lèi)型轉(zhuǎn)換,即加上<T>,強(qiáng)制轉(zhuǎn)換成范型的形式,這樣就不會(huì)報(bào)錯(cuò)了。而T get(ID id),由于它的參數(shù)和返回類(lèi)型都用了范型,故要在返回類(lèi)型T前強(qiáng)制轉(zhuǎn)換,即<T,ID>。

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

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

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


    }
    這種形式,是把范型聲明放在類(lèi)中了,就不需每個(gè)方法都寫(xiě)強(qiáng)制類(lèi)型轉(zhuǎn)換。

    看實(shí)際需要,哪種方法方便就用哪種吧!范型給Java編程帶來(lái)了許多方便,好好利用,會(huì)達(dá)到事半功倍的效果。

    本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,謝謝!http://www.tkk7.com/rongxh7(心夢(mèng)帆影JavaEE技術(shù)博客)
        

    posted on 2009-05-27 02:47 心夢(mèng)帆影 閱讀(3843) 評(píng)論(6)  編輯  收藏 所屬分類(lèi): JavaSE

    評(píng)論:
    # re: Java范型的兩種寫(xiě)法 2009-05-27 09:44 | 于翔
    謝謝 學(xué)習(xí)了  回復(fù)  更多評(píng)論
      
    # re: Java范型的兩種寫(xiě)法 2009-05-27 13:24 | Hadis
    我覺(jué)得方法一說(shuō)的是聲明泛型方法
    而方法二是聲明泛型類(lèi) 和強(qiáng)制類(lèi)型轉(zhuǎn)換無(wú)關(guān)吧?  回復(fù)  更多評(píng)論
      
    # re: Java范型的兩種寫(xiě)法 2009-05-27 18:01 | YXY
    比較常用第二種寫(xiě)法,不過(guò)它也有一些限制:
    如:
    不應(yīng)在靜態(tài)成員中引用封閉類(lèi)型參數(shù)。
    不能用基本類(lèi)型實(shí)例化泛型類(lèi)型參數(shù)。
    不能在數(shù)據(jù)類(lèi)型轉(zhuǎn)換或 instanceof 操作中使用“外露”類(lèi)型參數(shù)。
    不能在 new 操作中使用“外露”類(lèi)型參數(shù)。
    不能在類(lèi)定義的 implements 或 extends 子句中使用“外露”類(lèi)型參數(shù)  回復(fù)  更多評(píng)論
      
    # re: Java范型的兩種寫(xiě)法 2009-05-28 14:43 | 奇山
    學(xué)習(xí)了。  回復(fù)  更多評(píng)論
      
    # re: Java范型的兩種寫(xiě)法 2009-06-24 00:14 | realman
    可否第種舉個(gè)例子,光這么說(shuō)不大好理解,先謝過(guò).@YXY
      回復(fù)  更多評(píng)論
      
    # re: Java范型的兩種寫(xiě)法 2010-10-15 22:47 | 心夢(mèng)
    心夢(mèng)  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 久久精品亚洲日本佐佐木明希| 亚洲国产成人超福利久久精品| 亚洲啪AV永久无码精品放毛片 | 亚洲av无码乱码国产精品| 亚洲欧美日韩一区二区三区在线| 99在线免费视频| 国产三级免费电影| 亚洲一级毛片免费看| 久久免费线看线看| 亚洲人成影院在线观看| 亚洲欧美国产欧美色欲| 最近免费mv在线电影| 亚洲一区精品无码| 美女扒开尿口给男人爽免费视频 | 野花高清在线观看免费3中文| 亚洲成A人片在线观看无码不卡 | 久久www免费人成看片| 亚洲乱亚洲乱妇无码麻豆| 在线观看亚洲电影| 欧洲精品成人免费视频在线观看| 国产一区二区三区免费视频| 亚洲国产成+人+综合| 无码成A毛片免费| 国产亚洲精品拍拍拍拍拍| 立即播放免费毛片一级| 成人毛片18女人毛片免费视频未| 亚洲欧洲校园自拍都市| 日本高清免费观看| 国产美女无遮挡免费视频| 国产成人精品日本亚洲直接 | 亚洲第一精品福利| 亚洲最大的成人网| 国产乱子精品免费视观看片| 亚洲伊人tv综合网色| 国内少妇偷人精品视频免费| 亚洲午夜福利AV一区二区无码| 成人免费视频一区二区| 国产卡一卡二卡三免费入口 | 1000部啪啪毛片免费看| 久久亚洲AV午夜福利精品一区| 你好老叔电影观看免费|