本帖最后由 lizhuo1178473725 于 2013-04-08 15:06:15 编辑

解决方案 »

  1.   

    用反射呗...// 类似这样
    for (Object x : list) {
    Field[] fields = x.getClass().getDeclaredFields();
    for(Field field : fields){
    System.out.println(field.getName());
    }
    }
      

  2.   

    通过对象成员的getter/setter中get方法提取
      

  3.   

    如果要取属性 可以强制装换一下,但须知每个list对象是student,还是user
    Student s = (Student)o;
    只作为参考
      

  4.   


    // 如果只需要User对象,可以加个判断
    for (Object x : list) {
    if(x instanceof User){
    Field[] fields = x.getClass().getDeclaredFields();
    for(Field field : fields){
    System.out.println(field.getName());
    // 如果要获取该属性的值,就要通过该属性名,拼凑出该属性的get方法名getMethodName
    // 然后反射调用.
    Object value = x.getClass().getMethod(getMethodName, new Class[] {}).invoke(
    x, new Object[] {});
    }
    }
    }
      

  5.   

    你可以先判断类 然后强制类型转换
    for (Object x : list) {
    // 取到类名
    String name = x.getClass().getSimpleName(); if (name.equals("User")) {
    User u = (User) x;
    System.out.println("用户密码为 " + u.getPassword());
    } }
      

  6.   


    for (Object x : list) {
    // 取到类名
    System.out.println("Name:   " + x.getClass().getSimpleName());

    if(x instanceof Student){
    Student s = (Student)x;
    System.out.println("Name:   " + s.getName());
    }

    if(x instanceof User){
    User u = (User)x;
    System.out.println("Name:   " + u.getPassword());
    }
    }
      

  7.   

    1L的在不知道LIST里面OBJECT具体类型的时候可以用。
    实际应用中,你应该要知道你放在LIST的类型,然后强制转换成该类型就可以了!