关于反射的问题

新强力 2013-05-16 10:44:55
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了 反射出来的值依然是初始值 为什么
...全文
193 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT小霸王 2013-05-21
  • 打赏
  • 举报
回复
我也没搞懂,我把那个t1 = t2;放在循环里面结果还是一样!是不是遍历这个对象的属性时跟这个赋值没关系呢???搞不懂!
zhaowm1123 2013-05-21
  • 打赏
  • 举报
回复
新强力 2013-05-20
  • 打赏
  • 举报
回复
无耻的顶一个
teemai 2013-05-16
  • 打赏
  • 举报
回复
你打印的是list里面的值!
新强力 2013-05-16
  • 打赏
  • 举报
回复
引用 1 楼 huxiweng 的回复:
你打印的是list里面的值!
发现了 如果我要把所有对象保存起来应该怎么储存啊

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧