La mia domanda è:
come posso cambiare il riferimento dell'oggetto implicito passato ad un metodo?

Faccio un esempio per chiedervi se ho fatto giusto.
Supponiamo di avere la seguente classe:
codice:
public class C {
	private int campoC[];
	
	public C rif (int max) {
		int a[] = new int[campoC.length-1];
		
		for (int i=0; i<campoC.length; i++)
			if (campoC[i]!=max)
				a[i] = campoC[i];
		
		this.campoC = a;
		return this;
	} //rif

}//classe C
Nell'esempio vorrei fare in modo di modificare la lunghezza dell'array dell'oggetto implicito.
Quindi creo un nuovo array e poi, prima di ritornare lo stesso oggetto, cambio il riferimento con l'istruzione in grassetto.
E' concettualmente corretto?

Grazie