Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gangzai
qlexpress
提交
bf2d98b2
Q
qlexpress
项目概览
gangzai
/
qlexpress
与 Fork 源项目一致
从无法访问的项目Fork
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qlexpress
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
bf2d98b2
编写于
5月 14, 2018
作者:
T
tianqiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增强单字符串比较问题
上级
529581fb
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
41 addition
and
0 deletion
+41
-0
src/main/java/com/ql/util/express/Operator.java
src/main/java/com/ql/util/express/Operator.java
+10
-0
src/test/java/com/ql/util/express/bugfix/CompareObjectTest.java
...st/java/com/ql/util/express/bugfix/CompareObjectTest.java
+31
-0
未找到文件。
src/main/java/com/ql/util/express/Operator.java
浏览文件 @
bf2d98b2
...
@@ -45,6 +45,16 @@ public abstract class Operator extends OperatorBase{
...
@@ -45,6 +45,16 @@ public abstract class Operator extends OperatorBase{
compareResult
=
((
String
)
op1
).
compareTo
(
op2
.
toString
());
compareResult
=
((
String
)
op1
).
compareTo
(
op2
.
toString
());
}
else
if
(
op2
instanceof
String
){
}
else
if
(
op2
instanceof
String
){
compareResult
=
op1
.
toString
().
compareTo
((
String
)
op2
);
compareResult
=
op1
.
toString
().
compareTo
((
String
)
op2
);
}
else
if
(
op1
instanceof
Character
||
op2
instanceof
Character
){
if
(
op1
instanceof
Character
&&
op2
instanceof
Character
){
compareResult
=
((
Character
)
op1
)
.
compareTo
((
Character
)
op2
);
}
else
if
(
op1
instanceof
Number
){
compareResult
=
OperatorOfNumber
.
compareNumber
((
Number
)
op1
,
(
int
)((
Character
)
op2
).
charValue
());
}
else
if
(
op2
instanceof
Number
){
compareResult
=
OperatorOfNumber
.
compareNumber
((
int
)((
Character
)
op1
).
charValue
(),(
Number
)
op2
);
}
else
{
throw
new
Exception
(
op1
+
"和"
+
op2
+
"不能执行compare 操作"
);
}
}
else
if
(
op1
instanceof
Number
&&
op2
instanceof
Number
){
}
else
if
(
op1
instanceof
Number
&&
op2
instanceof
Number
){
//数字比较
//数字比较
compareResult
=
OperatorOfNumber
.
compareNumber
((
Number
)
op1
,
(
Number
)
op2
);
compareResult
=
OperatorOfNumber
.
compareNumber
((
Number
)
op1
,
(
Number
)
op2
);
...
...
src/test/java/com/ql/util/express/bugfix/CompareObjectTest.java
0 → 100644
浏览文件 @
bf2d98b2
package
com.ql.util.express.bugfix
;
import
com.ql.util.express.DefaultContext
;
import
com.ql.util.express.ExpressRunner
;
import
com.ql.util.express.IExpressContext
;
import
org.junit.Test
;
public
class
CompareObjectTest
{
@Test
public
void
test
()
throws
Exception
{
System
.
out
.
println
(
'a'
<
98
);
ExpressRunner
runner
=
new
ExpressRunner
();
String
[]
expList
=
new
String
[]{
"'a'<'b'"
,
"'a'<='b'"
,
"'a'=='a'"
,
"test=='a'"
,
"test<='a'"
,
"'a'>=test"
,
};
IExpressContext
<
String
,
Object
>
context
=
new
DefaultContext
<
String
,
Object
>();
context
.
put
(
"test"
,
'a'
+
0
);
for
(
String
exp
:
expList
)
{
Object
result
=
runner
.
execute
(
exp
,
context
,
null
,
true
,
false
);
System
.
out
.
println
(
result
);
assert
(
true
==
result
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录