我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

什么是单级属性赋值

这篇文章主要介绍“什么是单级属性赋值”,在日常操作中,相信很多人在什么是单级属性赋值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是单级属性赋值”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联-专业网站定制、快速模板网站建设、高性价比泰顺网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式泰顺网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖泰顺地区。费用合理售后完善,十载实体公司更值得信赖。

单级属性配置

对于此时的Emp类中会发现所给出的数据类型都没有其他的引用关联了,只是描述了Empty本类的对象,所以这样的设置称为单级设置处理,所以此时应该处理两件事情:

  • 需要通过反射进行指定类对象的实例化处理;

  • 进行内容的设置(Field属性类型、方法名称、要设置的内容);

什么是单级属性赋值
反射与简单Java类

1、定义StringUtils实现首字母大写功能

class StringUtils {public static String initcap(String str) {if (str == null || "".equals(str)) {return str;
        }if (str.length() == 1) {return str.toUpperCase();
        }else {return str.substring(0, 1).toUpperCase() + str.substring(1);
        }
    }
}

2、定义BeanUtils工具类,该工具类主要实现属性的设置。

class BeanUtils{   //进行Bean处理的类private BeanUtils(){}/**
     * 实现指定对象的属性设置
     * @param obj 要进行反射操作的实例化对象
     * @param value 包含有指定内容的字符串,格式"属性:内容|属性:内容"
     */public static void setValue(Object obj,String value){
        String results [] = value.split("\\|");//按照"|"进行每一组属性的拆分for (int x = 0; x < results.length; x ++) {   //循环设置属性内容//attval [0]保存的是属性名称,attval [1]保存的是属性内容String attval [] = results[x].split(":");   //获取“属性名称”和内容try {
                Field field = obj.getClass().getDeclaredField(attval[0]);  //获取成员Method setMethod = obj.getClass().getDeclaredMethod("set" + StringUtils.initcap(attval [0]), field.getType());
                setMethod.invoke(obj, attval [1]);  //调用setter方法设置内容}catch (Exception e) {}
        }
    }
}

3、ClassInstanceFactory负责实例化对象并且调用BeanUtils类实现属性内容的设置。

class ClassInstanceFactory{private ClassInstanceFactory(){}/**
     * 实例化对象的创建方法,该对象可以根据传入的字符串结构:"属性:内容|属性:内容"
     * @param clazz 要进行反射实例化的Class对象,有Class就可以反射实例化对象
     * @param value 要设置给对象的属性内容
     * @return 一个已经配置好属性内容的Java对象
     */public static  T create(Class clazz,String value){// 如果要想采用反射进行简单Java类对象属性设置的时候,类中必须要有无参构造try {
            Object obj = clazz.getDeclaredConstructor().newInstance();
            BeanUtils.setValue();   //通过反射设置属性return (T) obj; //返回对象}catch (Exception e) {
            e.printStackTrace();  //如果此时真的出现了错误,本质上抛出异常也没用return null;
        }    
    }
}

即使类中的属性再多,那么也可以轻松的实现setter的调用(类对象实例化处理)。

到此,关于“什么是单级属性赋值”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


文章题目:什么是单级属性赋值
文章路径:http://mswzjz.cn/article/iesihj.html

其他资讯