我的不用.toString()就出来了 去掉试试呢
假如你的list里面存的是Test类型的数据,Test里面有2个属性,name和age
则:
Test test = null;
Iterator it = list.iterator();
while (it.hasNext()) {
test = (Test)it.next();
System.out.println(test.getName());
System.out.println(test.getAge());
}
使用反射来取得属性的值,*^_^*
import java.lang.reflect.Field;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void printFieldsValue(Object obj) {
Field[] fields = obj.getClass().getDeclaredFields();
try {
for (Field f : fields) {
f.setAccessible(true);
System.out.println(f.get(obj));
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
List list = new LinkedList();
list.add(new Person());
list.add(new Person());
list.add(new Person());
Iterator iter = list.iterator();
while (iter.hasNext()) {
printFieldsValue(iter.next());
}
}
}
class Person {
private int age = 10;
private String name = "John";
}
学习上面两层楼的
引用 3 楼 inhibitory 的回复:使用反射来取得属性的值,*^_^*
Java code
import java.lang.reflect.Field;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void printFieldsVal……
++
看样子您的list里面装的是数组,所以要:
while (it.hasNext()) {
System.out.println(Arrays.toString((Object[])it.next()));
}
反射是个好同志
引用 3 楼 inhibitory 的回复:使用反射来取得属性的值,*^_^*
Java code
import java.lang.reflect.Field;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void printFi……
学习了
该回复于2011-02-11 10:38:01被版主删除
引用 3 楼 inhibitory 的回复:使用反射来取得属性的值,*^_^*
Java code
import java.lang.reflect.Field;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void printFi……夸张了点,路过。。。。。。。。。。。
打印对象直接在类里面覆盖个toString方法啊
其实,上面的2#和3#已经帮你解决这个问题了,3#的方法非常好,不用去判别对象的类型,在这里学习了。
对的 就是java的反射机制可以的也是必须的
引用 10 楼 yinbaicheng 的回复:引用 3 楼 inhibitory 的回复:
使用反射来取得属性的值,*^_^*
Java code
import java.lang.reflect.Field;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
publi……