IK Expression 简单用



import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;


import org.wltea.expression.ExpressionEvaluator;
import org.wltea.expression.datameta.Variable;
 


public class test {
  public String test(String name) {  
       return "hi, " + name;  
   }  

public static void test1(){
String expression = " (a + b ) / c ";  
   //给表达式中的变量 "用户名" 付上下文的值  
   List  variables = new ArrayList  ();  
   
   variables.add( Variable.createVariable("a", Integer.valueOf("2")));
   variables.add( Variable.createVariable("b", Integer.valueOf("2")));
   variables.add( Variable.createVariable("c",   Integer.valueOf("2") ));
   
//    variables.add(Variable.createVariable("用户名", args[0]));  
   //执行表达式  
   Object result = ExpressionEvaluator.evaluate(expression, variables);  
   System.out.println("Result = " + result);       


}
public static void test2(){
String expression = " (RRC_SuccConnEstab+RRC_SuccConnReestab)/(RRC_AttConnEstab+RRC_AttConnReestab)";  
//给表达式中的变量 "用户名" 付上下文的值  
List  variables = new ArrayList  ();  

variables.add( Variable.createVariable("RRC_SuccConnEstab", Double.valueOf("200")));
variables.add( Variable.createVariable("RRC_SuccConnReestab", Double.valueOf("21")));
variables.add( Variable.createVariable("RRC_AttConnEstab",   Double.valueOf("22") ));
variables.add( Variable.createVariable("RRC_AttConnReestab",   Double.valueOf("112") ));
variables.add( Variable.createVariable("RRC_AttConnReestabsbd",   Double.valueOf("112") ));
//    variables.add(Variable.createVariable("用户名", args[0]));  
//执行表达式  
Object result = ExpressionEvaluator.evaluate(expression, variables);  
// ExpressionEvaluator.evaluate(expression);
// ExpressionEvaluator.compile(expression);
System.out.println("Result = " + result);       


}
public static void test3(){
String expression = "  (a > b ) && (c >d ) || ( d == e ) ";  
List  variables = new ArrayList  ();  
variables.add( Variable.createVariable("a", Double.valueOf("200")));
variables.add( Variable.createVariable("b", Double.valueOf("21")));
variables.add( Variable.createVariable("c",   Double.valueOf("22") ));
variables.add( Variable.createVariable("d",   Double.valueOf("112") ));
variables.add( Variable.createVariable("e",   Double.valueOf("112") ));
//执行表达式  
Object result = ExpressionEvaluator.evaluate(expression, variables);  
System.out.println("Result = " + result);       
}
public static void test4(){
String expression = "  (申请金额>10000)?\"总经理审批\":\"部门经理审批\"";  
List  variables = new ArrayList  ();  
variables.add( Variable.createVariable("申请金额", Double.valueOf("200")));
variables.add( Variable.createVariable("b", Double.valueOf("21")));
variables.add( Variable.createVariable("c",   Double.valueOf("22") ));
variables.add( Variable.createVariable("d",   Double.valueOf("112") ));
variables.add( Variable.createVariable("e",   Double.valueOf("112") ));
//执行表达式  
Object result = ExpressionEvaluator.evaluate(expression, variables);  
System.out.println("Result = " + result);       
}
public static void test5(){
String expression = "  (申请金额>10000)?\"总经理审批\":((b<20)?\"if\":\"else\")";  
List  variables = new ArrayList  ();  
variables.add( Variable.createVariable("申请金额", Double.valueOf("200")));
variables.add( Variable.createVariable("b", Double.valueOf("21")));
variables.add( Variable.createVariable("c",   Double.valueOf("22") ));
variables.add( Variable.createVariable("d",   Double.valueOf("112") ));
variables.add( Variable.createVariable("e",   Double.valueOf("112") ));
//执行表达式  
Object result = ExpressionEvaluator.evaluate(expression, variables);  
System.out.println("Result = " + result);       
}
 


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String expression = "\"Hello World \" + 用户名";  
   //给表达式中的变量 "用户名" 付上下文的值  
   List  variables = new ArrayList  ();  
  
   variables.add( Variable.createVariable("用户名", "vv"));
//    variables.add(Variable.createVariable("用户名", args[0]));  
   //执行表达式  
   Object result = ExpressionEvaluator.evaluate(expression, variables);  
   System.out.println("Result = " + result);     
   
   
   test5();


}


}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值