cn.hutool.core.bean.BeanUtil.setFieldValue()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(2.4k)|赞(0)|评价(0)|浏览(1249)

本文整理了Java中cn.hutool.core.bean.BeanUtil.setFieldValue()方法的一些代码示例,展示了BeanUtil.setFieldValue()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanUtil.setFieldValue()方法的具体详情如下:
包路径:cn.hutool.core.bean.BeanUtil
类名称:BeanUtil
方法名:setFieldValue

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);
}

相关文章