关于枚举的使用心得,直接上代码
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)
)
)
));
}
}
网友评论