java中如何遍历一个类的所有对象?
今天看到一个循环for(Objecto:numbers),他可以遍历numbers这个变量所含的所有对象,但当我把numbers改成一个类的时候就会出错,请问可不可以通过...
今天看到一个循环for(Object o: numbers),他可以遍历numbers这个变量所含的所有对象,但当我把numbers改成一个类的时候就会出错,请问可不可以通过for语句遍历一个类的所有对象,不用for也行
展开
9个回答
展开全部
你这里的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());
}
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());
}
展开全部
什么叫做遍历一个类的所有对象?
如果要查找当前运行环境下一个类的所有对象实例,这个功能是无法用java语言来完成的。只有部分虚拟机可以输出当前内存下所有对象实例,这也仅仅是为了调试(Profile)。
如果是遍历指定对象实例的所有对象属性?这个得用反射来实现。
如果要查找当前运行环境下一个类的所有对象实例,这个功能是无法用java语言来完成的。只有部分虚拟机可以输出当前内存下所有对象实例,这也仅仅是为了调试(Profile)。
如果是遍历指定对象实例的所有对象属性?这个得用反射来实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 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的包才能用
JAVABean 中属性和 属性值 转化到 一个Map 中。到时候 你就可以利用 for 循环调用了。
如
BeanMap map = new BeanMap(you_Class_Instance);
for(String key:map.keyset()){
map,get(key);//key 是属性,map.get(key) 是属性值。
}
先要去找到 BeanUtils的包才能用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-12-01
展开全部
JAVA反射机制定义:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
找找这方面的资料,应该就是你要的结果。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
找找这方面的资料,应该就是你要的结果。
参考资料: 百度百科
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
右边的numbers这个对象的类型必须是一个集合,普通类肯定是不行的,得到类的全部对象?你应该是对于类和对象搞得不清楚或者你表达的有问题。建议你好好研究一下基础,主要是我来做任务就地一个找到你的了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询