关于枚举的使用心得

2023-05-10  本文已影响0人  zxbyh

关于枚举的使用心得,直接上代码

public class QueryParamDm {

    @RequiredArgsConstructor
    public enum Opt{
        equal("=") ,
        greater(">"),
        less("<"),
        like("like"),
        greater_equal(">="),
        less_equal("<=");
        private final String operator;
    }

    public record QRecord(Enum field,Opt opt,Object val){ }

    public static Map<String,Object> calculateParam(List<QRecord> qRecordList){
        return ListUtils.toMap(qRecordList,q -> q.field.name()+" "+q.opt.operator , q -> q.val);
    }
    
    public static void main(String[] args) {
        enum GoodsField{ price, name, category }

        System.out.println(JSONUtil.toJsonPrettyStr(
            calculateParam(
                List.of(
                    new QRecord(GoodsField.name,Opt.like,"测试"),
                    new QRecord(GoodsField.price,Opt.greater_equal,129.9D),
                    new QRecord(GoodsField.price,Opt.less_equal,299.9D)
                )
            )
        ));
    }
}
上一篇 下一篇

猜你喜欢

热点阅读