我收到了这个错误:
无法比较的类型:CAP#1是新鲜的类和字符串 键入变量: CAP#1扩展了Object的捕获?
Object object;
Field[] fields = object.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
if (fields[i].getType() == String) { //On this line the compiler error is displayed
//Can't get in here
}
}
我以为我在if
声明中比较了两个相同的类?
答案 0 :(得分:4)
getType会返回一个类,因此您必须将其与Class
进行比较。要获得String
的课程,您必须使用String.class
。
if (fields[i].getType() == String.class) {
//Now you can get in here!
}