本周在编码的时候,同事遇见了一个问题,始终没弄明白,最后我帮其找到了问题的原因
java传参的时候是传值的方式而不是传址。
public void testMethod(TestObject testObj,int i){
testObj.setTestValue("2");
i++;
System.out.println("testObj.testValue="+testObj.getTestValue()+"int i"+i);//testValue值为2,i为2;
testObj = new TestObj();
testObj.setTestValue("3");//大部分都认为此处会影响传递来的testObj对象的值,实际这是一个新的对象,
}
public static void main(String[] args){
TestObject testObj = new TestObject();
testObj.setTestValue("1");
int i=0;
System.out.println("testObj.testValue="+testObj.getTestValue()+"int i"+i);
testMethod(testObj,i);
System.out.println("testObj.testValue="+testObj.getTestValue()+"int i"+i);//testValue值为2,不是1,也不是3,而int i是1.
}
这个问题,在候捷的java实践中第一个实践有较清晰的论述,只不过新入门的时候读书没有理解其含义,所以就会造成开发上的偏差.
分享到:
相关推荐
Java是传值还是传址引用
Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE程序 界面传值问题Java SE...
Java页面form表单值的简单获取方法
java传值所用的基本方法与java传值时是传引用还是传值
java及C++中传值传递、引用传递和指针方式的理解.docx
java传值中的乱码,最简易的解决方法。 兄弟姐妹们,快来下载吧
java传参问题,通过对原始类型的传参和对应用类型的传参分析java的传值问题
简单的网页之间进行传值,利用cookie和session两种方法。
lotus domnio java代理传值
引用类型不像值类型传值那样直接,那么引用类型是怎么样传值的呢?答案就在此文档中。
java实现调用httpclient接口的类和方法,包括了get和post传参方式,简单易懂
java 调用 powershell 并传参 返回
Java中引用类型传值的代码清单.pdf 学习资料 复习资料 教学资源
flex+java交互 后台传参 前台操作
关于java中使用表单get方法传值出现乱码问题的解答。详细简单,便于学习使用。
springmvc中jsp和java的几种传参方式 eclipse导出的项目 jar包版本 例:spring-webmvc-4.2.5.RELEASE
Java到底是传引用还是传值Java开发Java经验技巧共3页.pdf.zip
以get传值制作的搜索分页功能 给自己以后使用方便所以上传源码 并且大家分享一下技术 如果觉得好的可以收藏 如果觉得有不够完善请高手指点 小弟学习
后台与页面之间的传值以及页面与页面之间的传值
传值和传引用的问题一直是Java里争论的话题。与C++不同的,Java里面没有指针的概念,Java的设 计者巧妙的对指针的操作进行了管理。事实上,在懂C++的Java程序员眼中,Java到处都是精美绝伦的指 针。