大侠帮忙下个问题怎么解决 最近在写程序的时候,希望传递进入另一个函数的值的改变,不会改变原来的的数的值这个应该怎么办 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议使用一下java中的clone()方法,具体可以看我的博客里的文章,祝楼主好运 应该是说,传递给函数的变量,在这个函数的内部修改后,不会影响原来的内容。Java默认传递时值传递,应该不会改变内容才对。Java中进行方法调用的时候传递参数时,遵循值传递的原则:1)基本数据类型,传递的是数据的拷贝2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身 什么叫值的改变,如果是 xxx=yyy 叫值的改变,那么任何函数都可以,如果是xxx.yyy(zzz)调用方法来改变对象的相关属性 叫值的改变,那么就在传进函数的时候克隆一个内容和原对象相同的新的对象传进去。 可以加返回值: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(),祝楼主好运! eclipse打印问题 接口怎么有toString方法 线程问题? 怎么样更新数据表中的内容(sqlserver2000) 有什么修饰符可以让变量第一次赋值后就不可改变了? 用netbeans编辑Applet时,为什么Color.green会报错呢?是否什么配置不对。 java how to program 第四版和第五版哪个翻译的好些呢? 如何用jbuilder开发带有gui界面的程序?请指点大致步骤! 如果在JAVA显示电脑配置,如CPU主频等 我到底哪里错了,为什么不能动? 两个list 的比较删除的算法问题 如何对一个具体的类进行Mock
Java默认传递时值传递,应该不会改变内容才对。Java中进行方法调用的时候传递参数时,遵循值传递的原则:
1)基本数据类型,传递的是数据的拷贝
2)引用数据类型,传递的是传递的引用地址的拷贝,而不是该对象本身
{
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
*/
或者如楼上所说,使用clone(),祝楼主好运!