baoshiwei
2025-03-12 f1208474f771a1c233d7425c8ed13fbaa0d521ac
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/utils/ObjectUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package org.dromara.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 <T, E> E notNullGetter(T obj, Function<T, E> func) {
        if (isNotNull(obj) && isNotNull(func)) {
            return func.apply(obj);
        }
        return null;
    }
    /**
     * å¦‚果对象不为空,则获取对象中的某个字段,否则返回默认值
     *
     * @param obj          å¯¹è±¡
     * @param func         èŽ·å–æ–¹æ³•
     * @param defaultValue é»˜è®¤å€¼
     * @return å¯¹è±¡å­—段
     */
    public static <T, E> E notNullGetter(T obj, Function<T, E> func, E defaultValue) {
        if (isNotNull(obj) && isNotNull(func)) {
            return func.apply(obj);
        }
        return defaultValue;
    }
    /**
     * å¦‚果值不为空,则返回值,否则返回默认值
     *
     * @param obj          å¯¹è±¡
     * @param defaultValue é»˜è®¤å€¼
     * @return å¯¹è±¡å­—段
     */
    public static <T> T notNull(T obj, T defaultValue) {
        if (isNotNull(obj)) {
            return obj;
        }
        return defaultValue;
    }
}