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

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

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

    隨筆-159  評論-114  文章-7  trackbacks-0

     傳統我們都是定一個類型,帶T的

    public class RandomSelection<T> {

      
    private java.util.Random random = new Random();

      
    private ArrayList<T> list;

      
    public RandomSelection() {

         list 
    = new ArrayList<T>();

      }


      
    public void add(T element) {

         list.add(element);

      }


      
    public T getRandomElement() {

         
    int index = random.nextInt(list.size());

         
    return list.get(index);

      }



    }


    直接來使用。當我們new RandomSelection<String>()  new RandomSelection<Integer>() 的時候,里面的方法的類型,也就確定了。

    public interface ISomeReason<extends Enum<X>> {

       
    public X getImplClassType();

    }

    實現一個子類。這里看到繼承是傳入了接口泛型中的X參數,參數就是實現類自己的類型。

    public enum ATypeReason implements ISomeReason<ATypeReason> {

       ABC(
    1),
       DEF(
    2),

       ;
       
    int index;

       
    private ATypeReason(int param)
       
    {
          
    this.index = param;
       }


       
    public int getIndex()
       
    {
           
    return this.index;
       }


       @Override
       
    public ATypeReason getImplClassType() {
          
    return this
       }


    }

    你也可以直接實現,不傳入X,那么在使用這個類型的實例去傳入某一個指定類型的方法參數時,會提示錯誤,不利于代碼健壯性。

    public class MainTest {

       
    public static void useATypeReason(ISomeReason<ATypeReason> reason)
    {
        sysout(reason.getImplClassType().getIndex());
    }


       
    //ATypeReason的類型沒有指定泛型參數適用于掉這個接口
       public static void dontCareParamType(ISomeReason<?> reason)
       
    {
          sysout(reason.getImplClassType());
          
    //不能調用
           sysout(reason.getImplClassType().getIndex());
       }


    }

    你可以把ISomeReason接口定義如下,更嚴格。

    public interface ISomeReason<extends Enum<E> & ISomeReason<E>> {

       
    public E type();

    }



    posted on 2010-06-29 14:08 北國狼人的BloG 閱讀(1130) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 国产精品免费高清在线观看| 一区二区视频免费观看| 精品免费人成视频app| 亚洲精品自产拍在线观看| 国产vA免费精品高清在线观看| yy6080亚洲一级理论| 曰批免费视频播放在线看片二 | 成人免费无毒在线观看网站| 亚洲欧洲日产国码二区首页| 我们的2018在线观看免费高清| 亚洲人成毛片线播放| 四虎免费大片aⅴ入口| 日韩成人精品日本亚洲| 亚洲国产成人五月综合网 | 国产成人综合亚洲一区| 亚洲欧洲久久av| 日本一道本不卡免费| 亚洲欧洲精品久久| 无码日韩精品一区二区免费| 亚洲成av人片在线天堂无| 免费成人av电影| 中文字幕日本人妻久久久免费 | 亚洲第一街区偷拍街拍| 少妇亚洲免费精品| 国产一区二区三区免费观看在线| 亚洲成年轻人电影网站www| 丁香花免费完整高清观看| 污污免费在线观看| 亚洲精品成人av在线| 国产高清免费观看| 日韩av无码免费播放| 亚洲Av高清一区二区三区| 亚洲国产午夜福利在线播放| 麻豆成人久久精品二区三区免费| 亚洲欧美日韩一区二区三区| 亚洲自偷自偷在线制服| 久久久久国色AV免费看图片| 一级毛片免费毛片毛片| 亚洲人成伊人成综合网久久| 亚洲日本va午夜中文字幕久久| 亚洲免费福利视频|