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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁宝昌 中级黑马   /  2014-9-10 21:19  /  656 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

11,泛型
|---查看API,发现类或者接口有<>, 如果有泛型,那么一般情形下建议使用,可以避免操作隐患ClassCastException(类型转换异常)<>里面 用来指定元
素的数据类型,不能是基本数据类型,使用泛型,可以讲一个集合中的元素限定为一个特定的类型,这样更安全,编译器在编译过程中,发现问题也不需要进
行强转,更方便。举例ArrayList<String> arrayList = new ArrayList<>();  arrayList.add("只能加字符串")
|---泛型通配符和上下限
|---Array集合规定好的泛型是Iteger的,想往里面传入string类型,应该如何实现。(某人的面试笔试题)
通过反射来实现,跳过编译过程。
  ArrayList<Integer> list = new ArrayList<Integer>();
                Class l = list.getClass();
                Method m = l.getMethod("add", Object.class);//这里必须是这两个类的共同父类
                System.out.println(m.getName());
                m.invoke(list, 12);
                m.invoke(list, "zhangsan");
                System.out.println(list.get(0)+"*****" + list.get(1));

1 个回复

倒序浏览
学习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马