小编jas*_*ena的帖子

将表单字符串输入值自动转换为其他java类型以动态生成类实例

我有一个只接受String变量的表单,但我想生成一个Class实例,使每个字符串属性转换为类中属性名称标识的相应类型.

对于例如,如果我在与名称的形式三个字段NAME,ANNUAL SALARYisLocalResident.我想将此表单转换为Class1这些属性所在的实例String,BigIntegerBoolean键入.

我怎么做?

目前我正在使用BeanUtiljava的属性,但它不符合我的要求,因为它不会转换为其所需的类型; 相反,它问我一个所需类型的二传手和吸气剂.请帮我解决这个问题.任何建议将不胜感激?

请注意,此表单是动态的,即字段的数量和名称应取决于另一个输入. 以下代码表示emp1Employee1类生成实例.

public Empolyee1 setContent(List<String> nameList, List<String> valueList) {
    Empolyee1 emp1 = new Empolyee1();

    for(String attr : nameList) {
        if(attr.equalsIgnoreCase("name")) { 
            if(valueList.get(nameList.indexOf("name")) != null && !valueList.get(nameList.indexOf("name")).trim().equals("")) {
                emp1.setName(valueList.get(nameList.indexOf("name")));
            }
    } else {
        if(attr.equalsIgnoreCase("ANNUAL SALARY")) {
            if(valueList.get(nameList.indexOf("ANNUAL SALARY")) != null && !valueList.get(nameList.indexOf("ANNUAL SALARY")).trim().equals("")) {
                  emp1.setAnnualSalary(valueList.get(nameList.indexOf("ANNUAL SALARY")));
            }
        } else …
Run Code Online (Sandbox Code Playgroud)

java generics apache-commons-beanutils

6
推荐指数
1
解决办法
105
查看次数

标签 统计

apache-commons-beanutils ×1

generics ×1

java ×1