首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

关于Java传值的有关问题?有兴趣的话请各位看下,给点建议

2012-03-09 
关于Java传值的问题?有兴趣的话请各位看下,给点建议packageTopCodepublicclassHelloWorld{publicstaticvo

关于Java传值的问题?有兴趣的话请各位看下,给点建议
package   TopCode;

public   class   HelloWorld   {

public   static   void   main(String[]   args)   {
//   TODO   Auto-generated   method   stub
String   str   =   new   String( "good ");
Integer   in   =   new   Integer(1);
String   []   ch   =   new   String[]{ "1 ", "2 ", "3 "};  
//System.out.println(ch[0]);
HelloWorld   xx   =   new   HelloWorld();
xx.change(str,ch);
System.out.println(str);
//System.out.println(in);
System.out.println(ch[0]);
}

public     void   change(String   str,String[]   ch){
str   =   "test ";
ch[0]   =   "5 ";
}
}

在change()方法里面修改了,String和String   数组的元数后,在Main方法里输出,System.out.println(str)输出的还是good,而ch[0]输出后就是5了,在这里具体传值是怎么传的呀?请大侠能针对这个例子具体的讲解下好吗?

[解决办法]
java和C++不一样,参数不是指针,可能类似于引用那种。
[解决办法]
change(String str,String[] ch)第一个参数类型改为StringBuffer,在函数体里对其值的修改在主函数中也有效。因为StringBuffer是地址传递,String是值传递。

热点排行