关于反射的问题
import java.lang.reflect.Field;
import java.util.ArrayList;
public class TestReflect {
public static void main( String[] args ) throws IllegalArgumentException, IllegalAccessException {
TestReflect t1 = new TestReflect();
t1.setName( "t1" );
TestReflect t2 = new TestReflect();
t2.setName( "t2" );
t2.s="1233123";
ArrayList<Object> list = new ArrayList<Object>();
list.add( t1 );
list.add( t2 );
t1=t2;
System.out.println(t1._objname);
for ( Object obj : list ) {
Field[] f = obj.getClass().getDeclaredFields();
for ( int i = 0; i < f.length; i++ ) {
System.out.println( "name:"+f[i].getName() + " value:"+f[i].get( obj )+" className" +obj.getClass().getName());
}
}
}
public void setName(String objname){
this._objname = objname;
}
private String _objname = getClass().getName();
public int a = 12;
public String s = "s";
}
t1明明就等于t2了 反射出来的值依然是初始值 为什么 反射 Java --------------------编程问答-------------------- 你打印的是list里面的值! --------------------编程问答-------------------- 发现了 如果我要把所有对象保存起来应该怎么储存啊 --------------------编程问答-------------------- 无耻的顶一个 --------------------编程问答-------------------- 我也没搞懂,我把那个t1 = t2;放在循环里面结果还是一样!是不是遍历这个对象的属性时跟这个赋值没关系呢???搞不懂! --------------------编程问答--------------------
补充:Java , Java相关