jexl 표현 식 응용
1819 단어 자바
package com.exp;
import junit.framework.TestCase;
import org.apache.commons.jexl2.Expression;
import org.apache.commons.jexl2.JexlContext;
import org.apache.commons.jexl2.JexlEngine;
import org.apache.commons.jexl2.MapContext;
public class Test extends TestCase {
/**
*
* @desc
* : :test, :
* --------
* c1 c2 c3
* --------
* 1 2 3
* 2 1 0
* ...
* --------
* , , , ;
*
* 1: c1>c2, c3=0; c3 ;
* , ,
* , , 。
*
* :
* jexl , , , 。
* commons-jexl-2.1.1.jar
*/
public static void testExpr() {
Expression expr;
JexlContext ctxt = new MapContext();
JexlEngine jexl = new JexlEngine();
/ / 표현 식
String exps = "if(c1>c2) {c3=0}";
expr = jexl.createExpression(exps);
// case 1
ctxt.set("c1", 1);
ctxt.set("c2", 2);
expr.evaluate(ctxt);
assertFalse((Integer) ctxt.get("c3") == (Integer) (0));
// case 2
ctxt.set("c1", 2);
ctxt.set("c2", 1);
expr.evaluate(ctxt);
assertTrue((Integer) ctxt.get("c3") == (Integer) (0));
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.