static void check(Person person) throws IllegalArgumentException, ReflectiveOperationException {
for (Field field : person.getClass().getFields()) {
Range range = field.getAnnotation(Range.class);
if (range != null) {
Object value = field.get(person);
// TODO:
if(value instanceof String) {
String s = (String) value;
if (s.length() < range.min() || s.length() > range.max()) {
throw new IllegalArgumentException("Invalid field: " + field.getName());
}
}else if(value instanceof Integer) {
int i = (int)value;
if (i < range.min() || i > range.max()) {
Sign in to make a reply
、 /沉默
static void check(Person person) throws IllegalArgumentException, ReflectiveOperationException {
for (Field field : person.getClass().getFields()) {
Range range = field.getAnnotation(Range.class);
if (range != null) {
Object value = field.get(person);
// TODO:
if(value instanceof String) {
String s = (String) value;
if (s.length() < range.min() || s.length() > range.max()) {
throw new IllegalArgumentException("Invalid field: " + field.getName());
}
}else if(value instanceof Integer) {
int i = (int)value;
if (i < range.min() || i > range.max()) {
throw new IllegalArgumentException("Invalid field: " + field.getName());
}
}
}
}
}