.clone() or Arrays.copyOf()?

In an effort to reduce mutability, should we rather use

public void setValues(String[] newVals) {

this.vals = ( newVals == null ? null : newVals.clone() );
}
or

public void setValues(String[]…