Java实现区间字符串转换为条件语句
1、需求
给定区间字符串,例如 [2,3) 我们可以返回某个字段 a >= 2 and a < 3
2、具体实现
/**
* 解析区间字符串--[1,2) -> a >= 1 and a < 2
* @author QiJingJing
* @since 2023/2/23
*/
public class IntervalFormatUtil {
public static String intervalToCondition(String intervalStr, String name) {
if (intervalStr == null || intervalStr.isEmpty() || name == null || name.isEmpty()) {
return "";
}
// 解析区间字符串
boolean startInclusive = intervalStr.charAt(0) == '[';
boolean endInclusive = intervalStr.charAt(intervalStr.length() - 1) == ']';
String[] parts = intervalStr.substring(1, intervalStr.length() - 1).split(",");
if (parts.length != 2) {
return "";
}
String start = parts[0].trim();
String end = parts[1].trim();
// 构建条件语句并返回
return name + " " + (startInclusive ? ">=" : ">") + " " + start + " and " + name + " " + (endInclusive ? "<=" : "<") + " " + end;
}
}
3、测试
System.out.println(IntervalFormatUtil.intervalToCondition("[2,3]", "abc"));
System.out.println(IntervalFormatUtil.intervalToCondition("(2,3)", "abc"));
System.out.println(IntervalFormatUtil.intervalToCondition("(2,3]", "abc"));
结果:
abc >= 2 and abc <= 3
abc > 2 and abc < 3
abc > 2 and abc <= 3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2022-02-23 NodeJS对mysql数据库的简单操作