ジェネリックの役割とオブジェクトとの違い

Java SEの1.5する前に、一般的なケースなしで、オブジェクトタイプを参照することによって達成パラメータは、「任意」と明示的なDOの欠点の「任意」であるキャストこれは、と開発者実際のパラメータータイプを予測できる場合は、変換が必要です以下のために必須の変換エラー、コンパイラがエラーを要求しないことがあり、それは実行時に異常が現れ、これはセキュリティ上のリスクがあります。

public  class Gen <T> {  
     private T ob; // ジェネリックメンバー変数を定義します   
  
    public Gen(T ob){  
         this .ob = ob;   
    }   
  
    public T getOb(){  
         return ob;   
    }   
  
    public  void setOb(T ob){  
         this .ob = ob;   
    }   
  
    public  void showType(){   
        System.out.println( "Tの実際のタイプは:" + ob.getClass()。getName());   
    }   
}  
public  class GenDemo {  
     public  static  void main(String [] args){  
         // ジェネリッククラスの整数バージョンを定義しますGen   
        Gen <Integer> intOb = new Gen <Integer>(88 );   
        intOb.showType();   
        int i = intOb.getOb();   
        System.out.println( "value =" + i);   
        System.out.println( "----------------------- ----------- " );  
         // ジェネリッククラスの文字列バージョンを定義Gen   
        Gen <String> strOb = new Gen <String>(" Hello Gen! " );   
        StrOb.showType();  
        文字列s  =strOb.getOb();  
        System.out.println( "value =" + s);  
    }   
}  

 

 

 

 

つまり、
ジェネリックスの利点は、コンパイル時型の安全性がチェックされ、すべての型強制自動的かつ暗黙的に行われるため、コードの再利用率が向上し、Objectのように強制する必要がないということです。

 

おすすめ

転載: www.cnblogs.com/xiaoxiong2015/p/12705815.html