如何反映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.*”,请执行一些操作来设置该值