Yes, "if" is probably the best way to validate arguments.
Use "assert" while you are developing and
testing the application; it will show where it is possible to "break" the class' invariants.
Wherever you can "break" the invariant in testing, you have a vulnerability which should be converted to a precondition and then to a guard.
The javadoc comments declare the precondition, and the if . . . throw converts it to a "guard" and enforces it.