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) 来进行检查:
提高了代码的可读性和维护性。
异常信息:
异常信息中包含了有效的分类列表,提供了更详细的错误提示。
通过这些优化,您的代码将更具可读性,并且在处理分类检查时会更高效。
java 检验输入的值只能为指定的某些值
于 2023-04-14 16:47:08 首次发布
这段代码使用StringUtils的isNotBlank方法检查vo对象的Mllb属性是否为空。如果非空,它会进一步验证Mllb的值是否在预定义的车辆分类列表内。如果不在,程序将抛出一个BusicenException,提示正确的车辆分类选项。
摘要由CSDN通过智能技术生成