本帖最后由 lllove320 于 2010-07-10 22:27:20 编辑

解决方案 »

  1.   

    所有对方法参数的赋值都不会起作用,没办法。除非修改java语言和java虚拟机的实现……
      

  2.   

    LZ应换个思路,通过return返回值不就好了之前也遇到过有人问类似问题
      

  3.   


    int x =1 ;public void add(int x){
     this.x++;
    }要直接修改全局变量,要不然默认修改的是你传进来的参数
      

  4.   

    这要分情况而言,形参如果是一个对象的引用,那是可以的,但是一个基本类型就不行了如:
    import java.util.ArrayList;
    import java.util.List;
    public class ParaTest {  private List<String> lst = new ArrayList<String>();  public void addTest(List<String> lst){
         lst.add("a");
      }  public static void main(String[] args){
        ParaTest test = new ParaTest();
        test.addTest(test.lst);
        System.out.println(test.lst.size());
      }
    }
      

  5.   

    java的参数传递都是值传递,但是在实际表现中会有差异,对基本类型来说,是把值拷贝了一份,所以不能修改传入参数的值。对对象来说,传入的参数拷贝的是引用值,2个引用指向的同一个对象,所以可以在方法里改变参数的值。特例是String,为什么是特例自己想想看
      

  6.   

    我都不太会说理论的哈:
    两种方法可以实现你想要的结果:
    第一种:
    public class invokeByValuer{
        
    public int tryChange(int ix){
         ix =ix*2; 
         return ix;//返回
    }
    public void showDiffer(){
    int ix=10;
    System.out.println("调用tryChange方法之前。ix="+ix);
    System.out.println("调用tryChange方法之后,ix="+tryChange(ix));
    }
    public static void main(String args[]){
    invokeByValuer va=new invokeByValuer();
        va.showDiffer();
    }
    }
    第二种:
    public class invokeByValuer{
        
    public void tryChange(int ix){
         ix =ix*2; 
         System.out.println("调用tryChange方法之后,ix="+ix);//在这个方法里面打印
    }
    public void showDiffer(){
    int ix=10;
    System.out.println("调用tryChange方法之前。ix="+ix);
    tryChange(ix);
    }
    public static void main(String args[]){
    invokeByValuer va=new invokeByValuer();
        va.showDiffer();
    }
    }
      

  7.   

    String中有个字符串池,如果池中有相同的则不会创建新的字符串。
      

  8.   

    看看《Java编程思想》中的值传递就知道又来了!
      

  9.   

    看看《Java编程思想》中的值传递就知道又来了!
      

  10.   

    return return return return return return return
    return return return return return return return
    return return return return return return return
    return return return return return return return
    return return return return return return return
    return return return return return return return
    return return return return return return return