Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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.lang.IllegalArgumentException:无法在org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod调用(PropertyUtilsBean.java:1778)_Java_Apache Commons Beanutils - Fatal编程技术网

java.lang.IllegalArgumentException:无法在org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod调用(PropertyUtilsBean.java:1778)

java.lang.IllegalArgumentException:无法在org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod调用(PropertyUtilsBean.java:1778),java,apache-commons-beanutils,Java,Apache Commons Beanutils,Struts应用程序属性的类型为String Array[] private String procBatchCode[]=新字符串[25]; public void setProcBatchCode(字符串[]字符串){ procBatchCode=字符串; } package com.americanexpress.ms3.actionform.RejectedPayment; 导入java.lang.reflect.Field; 导入java.lang.reflect.Invocatio

Struts应用程序属性的类型为String Array[]

private String procBatchCode[]=新字符串[25];
public void setProcBatchCode(字符串[]字符串){
procBatchCode=字符串;
}
package com.americanexpress.ms3.actionform.RejectedPayment;
导入java.lang.reflect.Field;
导入java.lang.reflect.InvocationTargetException;
导入java.util.HashMap;
导入java.util.Map;
导入org.apache.commons.beanutils.PropertyUtils;
导入org.apache.commons.collections.MultiMap;
公开课考试{
公共静态void main(字符串参数[]){
RejectedPayablesCommonFormTest rj=新的RejectedPayablesCommonFormTest();
System.out.println(“调用…”);
Map Map=newhashmap();
地图放置(“abc”、“abc”);
地图放置(“起始日期”、“起始日期”);
字符串[]batchCodeList={“015”};
字符串[]batchCode={“015”};
map.put(“procBatchCode”,batchCode);
map.put(“procBatchCodeList”,batchCodeList);
试一试{
org.apache.commons.beanutils.beanutils.populate(rj,map);
}捕获(例外e){
e、 printStackTrace();
}
System.out.println(“调用..结束…”+rj.getProcBatchCodeList().size()+“批处理代码列表”+rj.getProcBatchCodeList().size());
}
}

java.lang.IllegalArgumentException:无法调用com.americanexpress.ms3.actionform.rejectedpayables.RejectedPayablesCommonFormTest.setProcBatchCode-参数类型不匹配 位于org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778) 位于org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759) 位于org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648) 位于org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677) 位于org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022) 在org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) 在org.apache.commons.beanutils.beanutils.populate上(beanutils.java:298) 在com.americanexpress.ms3.actionform.RejectedPaddies.Test.main(Test.java:28)

中,rj对象中的“procBatchCode”字段的类型与映射中键“procBatchCode”对应的对象类型不匹配

private String procBatchCode[] = new String[25];
    public void setProcBatchCode(String[] strings) {
        procBatchCode = strings;
    }

package com.americanexpress.ms3.actionform.rejectedpayables;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.MultiMap;


public class Test {



  public static void main(String args[]){
    RejectedPayablesCommonFormTest rj=new RejectedPayablesCommonFormTest();
  System.out.println("Calling .....");
    Map <String,Object>map=new HashMap<String,Object>() ;
    map.put("abc","abc");
    map.put("fromDate","FormDate");
   String[] batchCodeList={"015"};
    String []batchCode={"015"};
   map.put("procBatchCode",batchCode);
    map.put("procBatchCodeList",batchCodeList);


    try {
        org.apache.commons.beanutils.BeanUtils.populate(rj, map);

    }catch(Exception e){
      e.printStackTrace();
      }

    System.out.println("Calling ..End ..."+rj.getProcBatchCodeList().size()+" batch code list"+rj.getProcBatchCodeList().size());
      }



  }