高效实现区间条件过滤:Java字符串转换为条件语句

简介: 高效实现区间条件过滤:Java字符串转换为条件语句

1、需求

给定区间字符串,例如 [2,3) 我们可以返回某个字段  a >= 2 and a < 3

2、具体实现

1. /**
2.  * 解析区间字符串--[1,2) -> a >= 1 and a < 2
3.  * @author QiJingJing
4.  * @since 2023/2/23
5.  */
6. public class IntervalFormatUtil {
7. public static String intervalToCondition(String intervalStr, String name) {
8. if (intervalStr == null || intervalStr.isEmpty() || name == null || name.isEmpty()) {
9. return "";
10.         }
11. 
12. // 解析区间字符串
13. boolean startInclusive = intervalStr.charAt(0) == '[';
14. boolean endInclusive = intervalStr.charAt(intervalStr.length() - 1) == ']';
15.         String[] parts = intervalStr.substring(1, intervalStr.length() - 1).split(",");
16. if (parts.length != 2) {
17. return "";
18.         }
19. String start = parts[0].trim();
20. String end = parts[1].trim();
21. 
22. // 构建条件语句并返回
23. return name + " " + (startInclusive ? ">=" : ">") + " " + start + " and " + name + " " + (endInclusive ? "<=" : "<") + " " + end;
24.     }
25. 
26. }

3、测试

1. System.out.println(IntervalFormatUtil.intervalToCondition("[2,3]", "abc"));
2. System.out.println(IntervalFormatUtil.intervalToCondition("(2,3)", "abc"));
3. System.out.println(IntervalFormatUtil.intervalToCondition("(2,3]", "abc"));

结果:

1. abc >= 2 and abc <= 3
2. abc > 2 and abc < 3
3. abc > 2 and abc <= 3


目录
相关文章
|
4天前
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解
|
9天前
|
人工智能 Java 编译器
大头儿子和小头爸爸的战斗--java字符和字符串
大头儿子和小头爸爸的战斗--java字符和字符串
|
11天前
|
Java 程序员
程序员必知:【java】判断字符串是否整数的三种方式,孰优孰劣请自行判断
程序员必知:【java】判断字符串是否整数的三种方式,孰优孰劣请自行判断
25 3
|
12天前
|
Java
java字符串分割split你用对了吗
java字符串分割split你用对了吗
14 1
|
13天前
|
Java API Apache
探讨Java中检测字符串是否包含数字和字母的技术
探讨Java中检测字符串是否包含数字和字母的技术
12 2
|
2天前
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解
|
3天前
|
JSON Java 数据格式
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
前后端数据交换,JSON基础语法和JSON数据和Java对象转换,最快的对象转换,JSON{““}字符串如何写User{id=1,username=‘zhangsan‘,password=‘123‘}
|
10天前
|
算法 Java
Java将16进制的字符串转换为10进制数的方法
【6月更文挑战第27天】Java将16进制的字符串转换为10进制数的方法
14 0
|
11天前
|
存储 算法 Java
Java数据结构与算法:用于高效地存储和检索字符串数据集
Java数据结构与算法:用于高效地存储和检索字符串数据集
|
12天前
|
Java 机器人 程序员
Java中的字符串操作技巧与最佳实践
Java中的字符串操作技巧与最佳实践