Checking if a string parameter contains only digits public void setMobile(String mobile) {
      char[] mobileList = mobile.toCharArray();
      boolean isValid = true;
      for(char x : mobileList)
      {
          if(!Character.isDigit(x))
          {
              isValid = false;
          }
      }
      if(isValid)
      {
          this.mobile = mobile;
      }
    }


Is this the best way of doing things? Cheers.
There is one major flaw that will come back and haunt you with this code. If you enter an invalid number, there is absolutely no indication whatsoever that it was invalid.

If it is not valid, you should do this:

throw new IllegalArgumentException("Invalid mobile number: " + mobile);


Incorporating Heslacher's suggestions I would do this:

public void setMobile(String mobile) {
    if (!containsOnlyDigits(mobile)) {
        throw new IllegalArgumentException("Invalid mobile number: " + mobile);
    }
    this.mobile = mobile;
}


Another edge case that should be handled is the empty string. I assume you don't want to classify that as a valid mobile number? Then handle it also in containsOnlyDigits or handle it in setMobile.

if (mobile.isEmpty()) {
    throw new IllegalArgumentException("Empty string is not a valid mobile number");
}