黑马程序员_java高新技(7)泛型

------- android培训java培训、期待与您交流! ----------


 明确指定集合装什么类型的!myeclispse的感叹号表示警告


  编译完的字节码没有装入类型


  collection3.getclass.getMethod("add",Object.class).invoke(collection3,"abc");

泛型是给编译器看的

Vector是老的集合方式,用枚举取出


数组元素不能使用参数类型


?  可以调用与参数无关的方法


问号不能赋值给固定类型

固定类型可以赋值给问号

private static <T> T add(T x,T y)

{

  return x+y;

}


交换数组中元素的位置

private static <T> void swap(T[] a ,int i ,int j){

     T tmp=a[i];

     a[i]=a[j];

     a[j]=tmp;

}

T必须是引用类型,不能说基本类型


Java不支持创建泛型数组


参数化类型 就是有<>这个符号的类型

public static<T> void copy1(Collection<T> t,T[] a)

{

        for(int i=0;i<a.length;i++)

         a[i]=obj;

}

泛型类

GenericDao


String[] str = {"abc", "bcd", "def"};字符串数组
crud增删改查


public class GenericDao <T>//泛型类

 {

        publicvoid add(T x)

}     

      public  T  findById(ind t)

  {

      return null;

 }


    public void delete(T obj)

{


}

    public void update(T obj)

{


}

}

静态方法不能用泛型类型的


每一个方法都能得到参数列表

通过的变量的方法可以获得参数列表

Method applyMethod=Gnenric.class.getMethod("apply",Vetcor.class)//参数类型

Tyep[] types= applyMehtod.getGenericParameterTypes();//方法可能有多种参数,所以用数组

ParameterizedType p=(ParameterizedType)types[0];

p.getRawType()//得到原始类型

p.getActualTypearguements()[0];//得到vetor里面装的是什么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值