例如:
public List<Integer> list = new ArrayList<>();
以及如何通过反射检查此列表为空而不为空?
for (final Field field : ReflectionUtils.getDeclaredFields(clazz)) {
if (List.class.isAssignableFrom(field.getType())) {
// TODO check whether the list is empty.
}
}
答案 0 :(得分:1)
您可以使用Field.get()
获取字段值,然后将其强制转换为List
:
List<?> l = (List<?>) Field.get(obj);
if (l == null || l.isEmpty()) {
}
答案 1 :(得分:0)
接口List
中有一个称为isEmpty()
的方法。您可以在if条件中使用该方法,如下所示。
if (list==null||list.isEmpty) {
//TODO if the list is empty
}
答案 2 :(得分:0)
您可以使用以下方法检查天气是否为空。
public boolean isEmpty() {
Field fields[] = this.getClass().getDeclaredFields();
for (Field field : fields) {
try {
Object value = field.get(this);
if (value != null) {
return false;
}
}
catch (IllegalArgumentException e) {
e.printStackTrace();
}
catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return true;
}