java 检验输入的值只能为指定的某些值

这段代码使用StringUtils的isNotBlank方法检查vo对象的Mllb属性是否为空。如果非空,它会进一步验证Mllb的值是否在预定义的车辆分类列表内。如果不在,程序将抛出一个BusicenException,提示正确的车辆分类选项。
摘要由CSDN通过智能技术生成
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public class VehicleCategoryValidator {

    private static final Set<String> VALID_CATEGORIES = new HashSet<>(Arrays.asList(
        "乘用车及客车", "货车", "半挂牵引车", "半挂车", "两轮摩托车", 
        "三轮摩托车", "三轮汽车", "低速货车", "专用汽车", "未列入公告车辆", 
        "二类底盘", "三类底盘"
    ));

    public void validateVehicleCategory(Vehicle vo) throws BusicenException {
        String category = vo.getMllb();
        
        if (StringUtils.isNotBlank(category)) {
            if (!VALID_CATEGORIES.contains(category)) {
                throw new BusicenException("车辆分类只能在" + VALID_CATEGORIES.toString() + "中");
            }
        }
    }
}

说明
使用 Set 来存储有效的车辆分类:

HashSet 提供了快速的查找性能。
使用 StringUtils.isNotBlank 来检查 category 是否为非空白:

保持了原有逻辑的完整性。
使用 VALID_CATEGORIES.contains(category) 来进行检查:

提高了代码的可读性和维护性。
异常信息:

异常信息中包含了有效的分类列表,提供了更详细的错误提示。
通过这些优化,您的代码将更具可读性,并且在处理分类检查时会更高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值