本文整理了Java中cn.hutool.core.bean.BeanUtil.setFieldValue()
方法的一些代码示例,展示了BeanUtil.setFieldValue()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanUtil.setFieldValue()
方法的具体详情如下:
包路径:cn.hutool.core.bean.BeanUtil
类名称:BeanUtil
方法名:setFieldValue
[英]设置字段值,,通过反射设置字段值,并不调用setXXX方法
对象同样支持Map类型,fieldNameOrIndex即为key
[中]设置字段值,,通过反射设置字段值,并不调用setXXX方法
对象同样支持地图类型,fieldNameOrIndex即为钥匙
代码示例来源:origin: looly/hutool
/**
* 设置表达式指定位置(或filed对应)的值<br>
* 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值<br>
* 注意:
*
* <pre>
* 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值
* 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值
* </pre>
*
* @param bean Bean、Map或List
* @param patternParts 表达式块列表
* @param value 值
*/
private void set(Object bean, List<String> patternParts, Object value) {
Object subBean = get(patternParts, bean, true);
if(null == subBean) {
set(bean, patternParts.subList(0, patternParts.size() - 1), new HashMap<>());
//set中有可能做过转换,因此此处重新获取bean
subBean = get(patternParts, bean, true);
}
BeanUtil.setFieldValue(subBean, patternParts.get(patternParts.size() - 1), value);
}
代码示例来源:origin: looly/hutool
/**
* 设置表达式指定位置(或filed对应)的值<br>
* 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值<br>
* 注意:
*
* <pre>
* 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值
* 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值
* </pre>
*
* @param bean Bean、Map或List
* @param patternParts 表达式块列表
* @param value 值
*/
private void set(Object bean, List<String> patternParts, Object value) {
Object subBean = get(patternParts, bean, true);
if(null == subBean) {
set(bean, patternParts.subList(0, patternParts.size() - 1), new HashMap<>());
//set中有可能做过转换,因此此处重新获取bean
subBean = get(patternParts, bean, true);
}
BeanUtil.setFieldValue(subBean, patternParts.get(patternParts.size() - 1), value);
}
代码示例来源:origin: cn.hutool/hutool-all
/**
* 设置表达式指定位置(或filed对应)的值<br>
* 若表达式指向一个List则设置其坐标对应位置的值,若指向Map则put对应key的值,Bean则设置字段的值<br>
* 注意:
*
* <pre>
* 1. 如果为List,如果下标不大于List长度,则替换原有值,否则追加值
* 2. 如果为数组,如果下标不大于数组长度,则替换原有值,否则追加值
* </pre>
*
* @param bean Bean、Map或List
* @param patternParts 表达式块列表
* @param value 值
*/
private void set(Object bean, List<String> patternParts, Object value) {
Object subBean = get(patternParts, bean, true);
if(null == subBean) {
set(bean, patternParts.subList(0, patternParts.size() - 1), new HashMap<>());
//set中有可能做过转换,因此此处重新获取bean
subBean = get(patternParts, bean, true);
}
BeanUtil.setFieldValue(subBean, patternParts.get(patternParts.size() - 1), value);
}
内容来源于网络,如有侵权,请联系作者删除!