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.max() || i < range.min()) { throw new IllegalArgumentException("Invalid Field:" + field.getName()); } } } } }
Sign in to make a reply
发条与库奇