黑马程序员技术交流社区
标题:
写一个通用方法输出任一数组(维数不定)和单个对象的值
[打印本页]
作者:
付维翔
时间:
2012-10-25 09:21
标题:
写一个通用方法输出任一数组(维数不定)和单个对象的值
这基础视频里,在反射章节里,老师写了一个方法,方法如下,但是本方法无法输出多维数组的值,求代码修改
/**
* 打印指定对象的数据,本方法只能打印出一维组中的值和单个值的对象,无法输出多维数组中的具体的值
*
* @param obj
*/
private static void printObject(Object obj) {
Class clazz = obj.getClass();
if (clazz.isArray()) {
int len = Array.getLength(obj);
for (int i = 0; i < len; i++) {
System.out.println(Array.get(obj, i));
}
} else {
System.out.println(obj);
}
}
复制代码
作者:
付维翔
时间:
2012-10-25 09:43
问题我解决了,不知道大家有没有更好的方法,我是采用,递归输出多维数组中的值,方法如下:
<P>/**
* 本方法为上述方法的改进,可以输出多维组中的值,采用递归方法,
*
* @param obj
*/
private static void printObjectAdance(Object obj) {
Class clazz = obj.getClass();
////Determines if this Class object represents an array class.
if (clazz.isArray()) {
int len = Array.getLength(obj);
for (int i = 0; i < len; i++) {
// 递归调用
printObjectAdance(Array.get(obj, i));
}
} else {
System.out.println(obj);
}</P>
<P> }</P>
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2