java函数传参 菜鸟体会 以及 多参数返回解决方案

昨天打了一天酱油,还是基础太浅~~  归结为菜鸟中的菜鸟一点都不为过~

言归正传,问题是这样的,往函数里传入三个参数,希望返回值也有三个参数,而且是相同的三个参数(意思就是说要对传入的三个参数进行值的改变)

解决方法一:由于对函数传值的方式一直存在盲区~所以一直都没有敢轻易试水。

public static void newValue(Value value) {  
    value = new Value();  
    value.setValue("new value");  
    System.out.println("In newValue, HashCode = " + value.hashCode() + ", value = " + value.getValue());  
}  
      
public static void modifyValue(Value value) {  
    value.setValue("new value");  
    System.out.println("In modifyValue, HashCode = " + value.hashCode() + ", value = " + value.getValue());  
}  


第一种方法newValue:按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本。因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。 

第二种方法modifyValue:按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本。因此,如果函数修改了该参数,参数的原始值(函数块之外的调用代码中)也随之改变。(其中setvalue的方法是关键,如果要完成这个功能那么必须这个对象要有这个set方法)


解决方法二:重新写一个数据封装类,包含这个三个参数。在调用方法时,重新生成一个对象传出来。这个方法相对简单,也比较容易想到~几乎没有技术难度

你可能感兴趣的:(java函数传参 菜鸟体会 以及 多参数返回解决方案)