Discuss / Java / 交作业

交作业

Topic source

Calotte_

#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 && field.getName().equals("name")) {

String s = (String) value;

if (s.length() < range.min() || s.length() > range.max())

throw new IllegalArgumentException("Invalid field: " + field.getName());

}else if (value instanceof String && field.getName().equals("city")) {

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 && field.getName().equals("age")) {

int s = (int) value;

if (s < range.min() || s > range.max())

throw new IllegalArgumentException("Invalid field: " + field.getName());

}

}

}

}

}


  • 1

Reply