如何反映java语言的复杂领域

如何反映java语言的复杂领域,java,reflection,Java,Reflection,这是我的密码: for(Agent agent : datasource) { boolean match = true; if (filters != null) { for (Iterator<String> it = filters.keySet().iterator(); it.hasNext();) { try { System.out.println("********* Filte

这是我的密码:

for(Agent agent : datasource) {
    boolean match = true;

    if (filters != null) {
        for (Iterator<String> it = filters.keySet().iterator(); it.hasNext();) {
            try {
                System.out.println("********* Filter Loop **********");
                String filterProperty = it.next();
                Object filterValue = filters.get(filterProperty);
                java.lang.reflect.Field flied=agent.getClass().getDeclaredField(filterProperty);
                flied.setAccessible(true);
                String fieldValue = String.valueOf(flied.get(agent));
                System.out.println(fieldValue +"tt"+filterValue.toString());
                if(filterValue == null || fieldValue.contains(filterValue.toString())) {
                    System.out.println("********* Filter Existe ***********");
                    match = true;
                }
                else {
                    match = false;
                    break;
                }
            } catch(Exception e) {
                System.out.println(e.toString());
                match = false;
            }
        }
for(代理:数据源){
布尔匹配=真;
if(过滤器!=null){
for(Iterator it=filters.keySet().Iterator();it.hasNext();){
试一试{
System.out.println(“**********过滤器循环**********”);
String filterProperty=it.next();
对象filterValue=filters.get(filterProperty);
java.lang.reflect.Field flied=agent.getClass().getDeclaredField(filterProperty);
flied.setAccessible(true);
String fieldValue=String.valueOf(flied.get(agent));
System.out.println(fieldValue+“tt”+filterValue.toString());
if(filterValue==null | | fieldValue.contains(filterValue.toString())){
System.out.println(“**********过滤器存在**********”);
匹配=真;
}
否则{
匹配=假;
打破
}
}捕获(例外e){
System.out.println(例如toString());
匹配=假;
}
}
我有一个例外:

java.lang.NoSuchFieldException:agentLieuNaissance.SousPrestructureName


agentLieuNaissance它引用另一个实体,因此您必须按常规方式执行


agent
获取
agentLieuNaissance
的值(对象),然后从该对象获取
sousprefracterom
的值。您可以更具体一些。因为我有另一个类似的情况,我真正想要的是告诉该方法,如果我有“agent.*”,请执行一些操作来设置该值