some arguments can be changed in method, but some not in java
<pre><code>public class test {
    public static void main(String[] args) {
        boolean flag=false;
        char[] c=new char[5];
        c[0]='e';
        read(flag, c);

        System.out.println(c[0]);
        System.out.println(flag);
    }

   public static void read(boolean flag, char[] c){
        flag=true;
        c[0]='a';
   }
}
</code></pre>

<p>In the above code, I find an interesting problem: the <code>char[] c</code> has been changed and print the result right, but the boolean flag has not been changed! I do not know how this happened? 
and now, I want to change the flag too, how this can be done?
thanks for your help!</p>
