对于基本类型,java是采用按值传递的,也就是传入了a和b的值进行计算。返回后,当然没有改变,不过对于对象就是引用传递的(java没有指针,叫对象引用,你可以理解为java的指针)。所以你把它改成对象,就会改变的。另,你可以采用对象的方法,对对象进行累加就可以了,你的写法还是停留在面向过程上。

解决方案 »

  1.   

    是的,可是你能帮我解释这个问题吗??
    在大型应用中,一服务A接受客户的所有请求,但是该服务器并不处理该请求,而是把这些请求分发给多个不同的服务B,C,D处理,B,C,D处理完后再把其结果返回给A,这样的话A负责把这些处理结果重新组合后再返回给客户,我是用vector保存所有请求对象,保存的同时就把这些请求对象分发给B,C,D,这时传递的均为对象,返回的仍是这些对象,可是返回到A后,由BCD三个返回的对象就不一样了,我无法把这三个结果进行重新组合,因此这三者不一样了,换言之,在不同的服务处理后都不一样了,我如何才能判断这三个返回结果其实是我的客户端的同一个请求??我用Vector及Hashtable均不行。