有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用java中的反射检查字段是否为真

目前正在尝试编写一些菜单功能,并想知道是否有办法找出布尔字段是真是假。这是我目前正在尝试的代码,但我遇到了一个错误

try{

     field = a.getClass().getField(b); 

     if(toggle==1&&field){
     }else if(toggle==1&&!field){
       field.set(a, true);
     }else if(toggle==0&&!field){
     }else if(toggle==0&&field){
       field.set(a, false);
     }
}catch (NullPointerException e) {
}catch (NoSuchFieldException e) {
}catch (IllegalAccessException e) {
}

错误是

The operator && is undefined for the argument type(s) boolean, Field

共 (1) 个答案

  1. # 1 楼答案

    a.getClass().getField(b);返回java.lang.reflect.Field;,不是布尔类型

    可以使用field.getBoolean(a)获取布尔值