ciao...
ho dei problemi (dubbi) per quanto riguardo il passaggio di valori tra metodi....
tipo:

codice:
package prova;
import java.util.*;

public class NewClass2 {

    int U=0;
    List<Integer> s=new ArrayList<Integer>();
    String[]r=new String[2];
    String y="e";
    es4[] es4=new es4[4];


	public static void main(String[] args) {

           new NewClass2().t();

           
        }
        public void t()
        {
            es4[0]=new es4(U,s,r,y);
            es4[0].c(10);

            U=5;
            y="w";
            s.add(15);
            r[0]="mao";
            es4[0].c(10);
        }
}
e il metodo chiamato....

codice:
package prova;

import java.util.*;
public class es4 {

    int T;
    List<Integer> l;
    String[] A;
    String h;
    public es4(int T,List<Integer> L,String[] A,String h)
    {
        this.T=T;
        this.l=L;
        this.A=A;
        this.h=h;
        //System.out.println("es4 "+T);
    }

    public void c(int t2)
    {
        System.out.println("T "+T+" t "+t2);
        System.out.println("L "+l);
        System.out.println("a "+A[0]+" "+A[1]);
        System.out.println("H "+h);
       
    }

}
...il risultato....
codice:
T 0 t 10
L []
a null null
H e
T 0 t 10
L [15]
a mao null
H e
perchè la lista e l array cambiano valore?!?!