本帖最后由 许涛 于 2012-6-25 19:31 编辑
泛型的作用就是限定非法类型的数据传入,你先在集合中限定只能传入Integer对象,而后又传入String类型的对象,这样的作法前后矛盾,自然会出错了。
不过你要是一定想在Integer类型的集合中传入String类型的对象,通过反射可以实现,代码如下- import java.lang.reflect.Method;
- import java.util.ArrayList;
- import java.util.List;
- public class Demo {
- public static void go(List list)
- {
- list.add("1.1");
- }
- public static void main(String args[]) throws Exception
- {
- List<Integer> list=new ArrayList<Integer>();
- list.add(1);
- go(list);
-
- //打印反射前集合
- System.out.println(list);
-
- list.getClass().getMethod("add", Object.class).invoke(list, "abc");
-
- //打印反射后集合
- System.out.println(list);
- }
- }
复制代码 |