public class NewId implements java.io.Serialable { private int value=0; public void setValue... public int getValue... }在ejb内的某一方法 public NewId getId(NewId id) { id.setValue(44); }在client内调用getId NewId localId=new NewId(5); ..getId(localId); 这时我想localId.getValue()为44 请问我怎样才能实现,是不是在weblogic可以设置系统参数,实现引用传参数 谢谢高手教我!
对String对象作的任何改变,都将在heap中新建片内存来存储该对象,而不是一般的传递对象的引用(内存地址)。
对于楼主说的这种情况,可以调用clone()方法复制一个对象即可了,但要高搞清楚该对象是“浅”or“深”拷贝
String b=a;我认为这里是引用,不是传值
加上这句就可以得出此结论
if(a == b)
System.out.println("a == b");
{
private int value=0;
public void setValue...
public int getValue...
}在ejb内的某一方法
public NewId getId(NewId id)
{
id.setValue(44);
}在client内调用getId
NewId localId=new NewId(5);
..getId(localId);
这时我想localId.getValue()为44
请问我怎样才能实现,是不是在weblogic可以设置系统参数,实现引用传参数
谢谢高手教我!
String b=a;
if(a == b)//比较a和b的地址if(a.equals(b))//比较a和b的值,也就是内容
String a="3";
String b="3";
在内存中只创建了一个对象
String b=a;
a和b指向同一个内存地址,b改变了这一内存地址中的值,那么a对这一内存地址中的值的引用也就 变了,不知偶说的对不对啊。
对于String这种特殊类对象所谓的传值我个人理解为对内存地址这个值的传递。不知我理解的对不对,还望高手点拨
String[] pictureURL = uPictureDB.getPictureURL(gameID);
String[] tmp=(String[])pictureURL.clone();
这样就是你说的clone()吗?强制转换看起来好像不是java语句,真难看。
深浅拷贝是指对象类型是否也重新复制的意思吗,可否举个例子。
Shrewdcat(丧邦&灵猫&潇) :不懂TIJ 2 是什么阿。
fantasyCoder(牛仔+T恤) :你说的是不是和 shangqiao(伤桥) 完全相反。
ybsoft(xxxxxx):"对象传值如果改变对象的成员,那原来那个对象的成员也会跟着改变"。这难道叫byValue?????
感谢大家的帮忙。共同进步。
String b=a;
这里是引用,不是传值;
但b="4";这句中
"4"是一个对象,在内存中有自己的内存空间,所以b="4";就将原来
指向a的b重新指向了"4"的内存地址
2条语句
String a="3";
String b="3";
第一次在内存中是a指向3的单元
第二次当再次创建时会在内存中
寻找值为3的单元,如果存在,就
将b也指向它,如果不纯在就重新
创建
你可以试一下
if(a==b)
比地址