【发布时间】:2011-05-01 06:28:19
【问题描述】:
我有以下问题:
class POJO implements Serializable{
int[] a = new int[2];
int b;
}
服务器:
printThere(ArrayList<POJO> list) throws RemoteException{
for(POJO obj:list)
System.out.println(obj.a[0]+" "+obj.a[1]+" "+obj.b);\\<-----THERE LINE
}
客户:
main(){
POJO o1 = new POJO();
o1.a[0] =1;
o1.a[1] =2;
o1.b= 11;
POJO o2 = new POJO();
o2.a[0] =10;
o2.a[1] =20;
o2.b= 111;
ArrayList<POJO> list = new ArrayList<POJO>();
list.add(o1);
list.add(o2);
for(POJO obj:list)
System.out.println(obj.a[0]+" "+obj.a[1]+" "+obj.b);\\<-----HERE LINE
server = proxy.lookup("server");
server.printThere(list);
}
这里的行打印如下:
1 2 11
10 20 111
这些行打印如下:
1 2 111
10 20 111
为什么我在一个对象中丢失了b 的值?我尝试在远程方法中使用Vector<POJO> 和POJO[],但得到了相同的结果。
【问题讨论】:
-
你确定你仍然向我们展示了正确的东西吗?症状就像你有 @t_motchy 的原始错字一样
标签: java serialization rmi