Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中检查成员变量是否是具有反射的映射?_Java_Reflection - Fatal编程技术网

如何在Java中检查成员变量是否是具有反射的映射?

如何在Java中检查成员变量是否是具有反射的映射?,java,reflection,Java,Reflection,我知道我可以使用 Collection.class.isAssignableFrom(field.getType()) 但是如何检查类中的字段是否是映射的实现呢 void myMethod(Class<?> classToCheck) { Field[] fields = classToCheck.getDeclaredFields(); for(Field field:fields) { // check if

我知道我可以使用

 Collection.class.isAssignableFrom(field.getType()) 
但是如何检查类中的字段是否是映射的实现呢

    void myMethod(Class<?> classToCheck) {
        Field[] fields = classToCheck.getDeclaredFields();

        for(Field field:fields) {
           // check if field implements Map<?,?>
        }
    }
void myMethod(类classToCheck){
Field[]fields=classToCheck.getDeclaredFields();
用于(字段:字段){
//检查字段是否实现映射
}
}
您可以使用将返回字段的
类的方法

for(Field field:fields) {
    Class<?> clazz = field.getType();
    boolean isItAMap = Map.class.isAssignableFrom(clazz);
}
for(字段:字段){
类clazz=field.getType();
布尔值isItAMap=Map.class.isAssignableFrom(clazz);
}
您可以使用将返回字段的
类的方法

for(Field field:fields) {
    Class<?> clazz = field.getType();
    boolean isItAMap = Map.class.isAssignableFrom(clazz);
}
for(字段:字段){
类clazz=field.getType();
布尔值isItAMap=Map.class.isAssignableFrom(clazz);
}
您可以使用将返回字段的
类的方法

for(Field field:fields) {
    Class<?> clazz = field.getType();
    boolean isItAMap = Map.class.isAssignableFrom(clazz);
}
for(字段:字段){
类clazz=field.getType();
布尔值isItAMap=Map.class.isAssignableFrom(clazz);
}
您可以使用将返回字段的
类的方法

for(Field field:fields) {
    Class<?> clazz = field.getType();
    boolean isItAMap = Map.class.isAssignableFrom(clazz);
}
for(字段:字段){
类clazz=field.getType();
布尔值isItAMap=Map.class.isAssignableFrom(clazz);
}
您可以尝试使用:

Map.class.isAssignableFrom(field.getType())
您可以尝试使用:

Map.class.isAssignableFrom(field.getType())
您可以尝试使用:

Map.class.isAssignableFrom(field.getType())
您可以尝试使用:

Map.class.isAssignableFrom(field.getType())


instanceof
Map.class.isAssignableFrom(field.getType())
?@Keppil啊,我真蠢,我在尝试Map时忘记了“class”。isAssignableFrom(…)是的,这应该可以搞定-thx@feuerball getType()是类的实例,字段的返回对象可以为null,这不是Map的实例。Map.Class.isAssignableFrom(field.getType())
?@Keppil啊,我真傻,我在尝试Map时忘记了“Class”。isAssignableFrom(…)是的,这应该可以解决问题-thx@feuerball getType()是类的实例,字段的返回对象可以为null,这不是Map的实例。Map.Class.isAssignableFrom(field.getType())
?@Keppil啊,我真傻,我在尝试Map时忘记了“Class”。isAssignableFrom(…)是的,这应该可以解决问题-thx@feuerball getType()是类的实例,字段的返回对象可以为null,这不是Map的实例。Map.Class.isAssignableFrom(field.getType())
?@Keppil啊,我真傻,我在尝试Map时忘记了“Class”。isAssignableFrom(…)是的,这应该可以解决问题-thx@feuerball getType()是类的实例,字段的返回对象可以为null,而不是Map的实例。这与@kocko answered相同。@feuerball:现在是在kocko编辑他的答案之后,而不是之前。@feuerball:-是的,我得到了人工验证检查,延迟了我的回答@feuerball没有两个人不能得到相同答案的事情。这和@kocko Responsed是一样的。@feuerball:现在是在kocko编辑了他的答案之后,而不是之前。@feuerball:-是的,我得到了人类的验证检查,延迟了我的回答@feuerball没有两个人不能得到相同答案的事情。这和@kocko Responsed是一样的。@feuerball:现在是在kocko编辑了他的答案之后,而不是之前。@feuerball:-是的,我得到了人类的验证检查,延迟了我的回答@feuerball没有两个人不能得到相同答案的事情。这和@kocko Responsed是一样的。@feuerball:现在是在kocko编辑了他的答案之后,而不是之前。@feuerball:-是的,我得到了人类的验证检查,延迟了我的回答@费尔巴哈没有两个人不能有相同答案的事情。