java中如何遍历一个类的所有对象?

2024-11-29 07:49:00
推荐回答(5个)
回答1:

你这里的numbers是一个对象数组,所以你可以这样遍历,单个对象是不行的。遍历对象内部成员,在反射里面有方法,我刚练习完,只有将对象的成员分解到数组中才行。分享给你了:
Class c=Class.forName("AbstractClassTest.Car"); //要包名+类名
Object o=c.newInstance();
Car car=(Car)o;
Field[] fields=c.getDeclaredFields();//拿到数据成员
Method[] methods=c.getMethods();//拿到函数成员
/*System.out.println(fields.length);
System.out.println(methods.length);*/
for(Field f : fields){
System.out.println("该类的内部变量有:"+f.getName());
}
for(Method m : methods) {
System.out.println("该类的方法有:"+m.getName());
}

回答2:

什么叫做遍历一个类的所有对象?

如果要查找当前运行环境下一个类的所有对象实例,这个功能是无法用java语言来完成的。只有部分虚拟机可以输出当前内存下所有对象实例,这也仅仅是为了调试(Profile)。

如果是遍历指定对象实例的所有对象属性?这个得用反射来实现。

回答3:

用 apache BeanUtils 包中的一个 BeanMap 的类,这个类可以把一般的
JAVABean 中属性和 属性值 转化到 一个Map 中。到时候 你就可以利用 for 循环调用了。

BeanMap map = new BeanMap(you_Class_Instance);
for(String key:map.keyset()){
map,get(key);//key 是属性,map.get(key) 是属性值。
}
先要去找到 BeanUtils的包才能用

回答4:

JAVA反射机制定义:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
找找这方面的资料,应该就是你要的结果。

回答5:

右边的numbers这个对象的类型必须是一个集合,普通类肯定是不行的,得到类的全部对象?你应该是对于类和对象搞得不清楚或者你表达的有问题。建议你好好研究一下基础,主要是我来做任务就地一个找到你的了。