class  A
{
/**
 * 构造函数:A
 * 函数说明:
 */
public A(int age, String name, List<B> list) {
this.age = age;
this.name = name;
this.list = list;
}
int age;
String  name;
List<B> list;

}class  B
{
/**
 * 构造函数:B
 * 函数说明:
 */
public B(int max, int min) {
this.max = max;
this.min = min;
}
int max;
int min;
}定义A后,如何通过反射机制得到A中list的各个元素,也就是b的各个属性值 public static void main(String []args)
{
List<B> list=new LinkedList<B>();
for(int i=0;i<3;i++)
list.add(new B(i,i));
A  a=new  A(18,"zhangsan",list);
a.fun();//期待通过这个函数的调用得到以下结果
age:18
name:zhangsan
list: 
    max=1 min=1
    max=2 min=2 
    max=3 min=3


}

解决方案 »

  1.   


    public void fun() {
        StringBuffer sb = new StringBuffer();
        sb.append("age:");
        sb.append(this.age);
        sb.append("\n");
        sb.append("name:");
        sb.append(this.name);
        sb.append("\n:");
        sb.append("list:");
        for (B b : list) {
            sb.append("\t");
            sb.append("max=");
            sb.append(b.max);
            sb.append(" min:");
            sb.append(b.min);
            sb.append("\n");
        }
    }
    你是这个意思么~?这跟反射有什么关系?
      

  2.   

    不好意思,忘了System.out.println(sb);