我想检查字段类型是否为List,但是出现错误:
Incompatible conditional operand types Class<capture#5-of ?> and
List
- Incompatible conditional operand types Class<capture#6-of ?> and
List
我该如何解决这个问题?
private void convert(Class<?> load) {
Field[] fields = load.getDeclaredFields();
int i = 0;
for (Field field : fields) {
Class<?> type = field.getType();
if (type instanceof java.util.List) {
}
}
}
答案 0 :(得分:4)
private void convert(Class<?> load) {
Field[] fields = load.getDeclaredFields();
int i = 0;
for (Field field : fields) {
Class<?> type = field.getType();
if (java.util.List.class.isAssignableFrom(type)) {
}
}
}
instanceof运算符仅用于实例!
答案 1 :(得分:1)
如果您希望字段的声明类型与java.util.List
完全匹配,则可以使用表达式field.getType()==java.util.List.class
来测试它。
仍然,该字段的值是null
或实现列表interface
的具体类的实例。