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)); |
|