在这个list
import java.util.List;里面我放了String类型,还有int类型,还有累得对象Class
我应该怎么做才能把这个list中的值取出来,还要让他变会原来的类型

解决方案 »

  1.   

    这么做有点危险,你取出来的对象,要getClass(),来判断它的类型。
    只要你做的是已知的有限种类的异质容器,就可以被真正的使用起来。否则需要你用反射。
      

  2.   

    public class Test {

    public static void function(int b) {

    }

    @SuppressWarnings("unchecked")
    public static void main(String[] args) {
    List list = new LinkedList();

    list.add("Hello");
    list.add(1);
    list.add(new Test());


    Object o = list.get(2);
    if (o instanceof String) {
    System.out.println(o);

    } else if (o instanceof Test) {
    System.out.println(o.toString());
    }


    }}
      

  3.   

    这种做法本身就是不安全的,所以在JDK 5.0以后增加了泛型参数,要求集合类中只能存放一种数据类型。