日期:2014-05-20  浏览次数:20762 次

大侠帮忙下个问题怎么解决
最近在写程序的时候,希望传递进入另一个函数的值的改变,不会改变原来的的数的值这个应该怎么办

------解决方案--------------------
建议使用一下java中的clone()方法,具体可以看我的博客里的文章,祝楼主好运
------解决方案--------------------
应该是说,传递给函数的变量,在这个函数的内部修改后,不会影响原来的内容。
Java默认传递时值传递,应该不会改变内容才对。

Java中进行方法调用的时候传递参数时,遵循值传递的原则:
1)基本数据类型,传递的是数据的拷贝
2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身
------解决方案--------------------
形参和实参的问题么。。按值传还是按址传了
------解决方案--------------------
可以加返回值:
Java code

public class TestThread
{
    public static void main(String[] args) throws Exception
    {
        int a = 2;
        a = dou(a);
        System.out.println(a);
    }
    
    public static int dou(int n)
    {
        return 2 * n;
    }

}
/*
 * output:
 * 4
 */

------解决方案--------------------
本来就应该不会改变原来函数的值吧,除非那个函数是类成员。。。
建议楼主给段代码好说明情况。。。
------解决方案--------------------
没看明白楼主的意思。但是你不想原来的值发生变化的话,可以先new一个临时变量暂存该值不就行了。
或者如楼上所说,使用clone(),祝楼主好运!