A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王者黑桃 中级黑马   /  2014-1-14 10:22  /  722 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package com.crazyfirst.jiang;
/**
  * 泛型集合,擦除实例代码
  * @author 王者黑桃
  */
class Fruit<T extends Number>{
T size;
public Fruit(){}
public Fruit(T size){
  this.size=size;
}
public void setSize(T size){
  this.size=size;
}
public T getSize(){
  return this.size;
}
}
public class TestErasure {

public static void main(String[] args) {
  Fruit<Integer> fi=new Fruit<Integer>(6);
  //fi的getSize方法返回Integer对象
  Integer inte=fi.getSize();
  //把fi对象赋给Fruit变量会丢失尖括号里的信息
  Fruit fr=fi;
  //fr只知道fi的类型是number
  Number nu1=fr.getSize();
  //下面代码引发编译错误
  //Integer nu2=fr.getSize();
}
}

1 个回复

倒序浏览
public class TestErasure {

public static void main(String[] args) {
  ArrayList<Integer> list  = new ArrayList<Integer>();

        list.getClass().getMethod("add",String.class).invoke(list, "abc");
}
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马