import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.M2O.*;
public class TestList {
public static void main(String args[]) {
Person p1 = new Person();
p1.setId(1);
p1.setName("abc");

Person p2 = new Person();
p2.setId(2);
p2.setName("def"); //加入2个person对象
List l=new ArrayList();
l.add(p1);
l.add(p2);

Iterator it=l.iterator();
while(it.hasNext())
{
Person p=(Person)it.next();
System.out.println(p.getId()+" "+p.getName());
}
}
}
我现在遇到问题是,我想写一个通用的读取List内对象内容的方法。比如list内放了一个Address对象。见上面红色代码部分,我怎么强制的去转换成我要的类型?PS:至于要转换成的具体类型,我可以通过XML或者其他方式取到。不知道能不能够实现,在网上看了叫反射机制,没有看明白!谁能帮帮我!

解决方案 »

  1.   

    ZangXT 谢谢你的提示。可以给个例子么?
      

  2.   

    List<String> list = new List<String>();
    list.add("string");
      

  3.   

    for(String s : list)
    {
    sysout("display"+s);
    }
      

  4.   

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;import net.M2O.*;public class TestList {
    public static void main(String args[]) {
    Person p1 = new Person();
    p1.setId(1);
    p1.setName("abc");

    Person p2 = new Person();
    p2.setId(2);
    p2.setName("def");

    List<Person>  l=new ArrayList<Person>();
    l.add(p1);
    l.add(p2);

    for(int i=0;i<l.size();i++)
    {
    Person p=l.get(i);
    System.out.println(p.getId()+" "+p.getName());
    }
    }}弄好了。但是泛型只有jdk1.5有吧?jdk1.4能用么?谢谢大家
      

  5.   

    楼主提到的反射想必就是用
    porperties文件+Class.forName(className).newInstance()的方式得到而己!!
    比用XML方便多了!