ジェネリック(コレクションは続く)
なぜジェネリックがあるのですか
初期のオブジェクト型は任意のオブジェクト型を受け取ることができますが、実際の使用では型変換に問題があります。この隠れた危険もあるので、Javaはこのセキュリティ問題を解決するためのジェネリックを提供します。
汎用:「パラメーター化された型」。メソッド内の変数パラメーターと同様に、元の特定の型から型をパラメーター化することです。このとき、型はパラメーター形式(型パラメーターと呼ぶこともできます)として定義され、特定の型は次のようになります。使用/呼び出し時に渡されます(タイプ引数)。
ジェネリック型パラメーターは、クラス型(カスタムクラスを含む)のみにすることができます
複数のジェネリック型パラメーターが存在する可能性があります。
特定のタイプが定義されていない場合、デフォルトはオブジェクトです。
パブリッククラスのデモ{
プライベートTp;
public T getP(){
pを返します。
}
public void setP(T p){
this.p = p;
}
package day3;
import java.util.ArrayList;
/*
为什么会有泛型:
虽然Object可以表示任何数据类型 但当存在类型转换问题时,就会存在隐患
所有java中提供了泛型来解决这类问题
泛型的参数类型可以是任意的(自定义也可以)
泛型的参数类型也可以有多个的
如果没有定义具体类型,默认为Object类
*/
public class FanXing<T> {
public static void main(String[] args) {
ArrayList<String> arrayList=new ArrayList<String>();
arrayList.add("a");
arrayList.add("s");
arrayList.add("a1");
}
}