Discuss / Java / 作业

作业

Topic source

、 /沉默

#1 Created at ... [Delete] [Delete and Lock User]

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());

}

}

}

}

}


  • 1

Reply