package org.ruoyi.common.core.utils; import cn.hutool.core.util.ObjectUtil; import lombok.AccessLevel; import lombok.NoArgsConstructor; import java.util.function.Function; /** * 对象工具类 * * @author 秋辞未寒 */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class ObjectUtils extends ObjectUtil { /** * 如果对象不为空,则获取对象中的某个字段 ObjectUtils.notNullGetter(user, User::getName); * * @param obj 对象 * @param func 获取方法 * @return 对象字段 */ public static E notNullGetter(T obj, Function func) { if (isNotNull(obj) && isNotNull(func)) { return func.apply(obj); } return null; } /** * 如果对象不为空,则获取对象中的某个字段,否则返回默认值 * * @param obj 对象 * @param func 获取方法 * @param defaultValue 默认值 * @return 对象字段 */ public static E notNullGetter(T obj, Function func, E defaultValue) { if (isNotNull(obj) && isNotNull(func)) { return func.apply(obj); } return defaultValue; } /** * 如果值不为空,则返回值,否则返回默认值 * * @param obj 对象 * @param defaultValue 默认值 * @return 对象字段 */ public static T notNull(T obj, T defaultValue) { if (isNotNull(obj)) { return obj; } return defaultValue; } }