[英]Java Based Expression Evaluator
我需要一個表達式評估器,它可以讓我評估如下表達式:
(ItemWeight + PackageWeight) * 2
因此,給定以下輸入:
ItemWeight = new Weight(2.0, LBS);
PackageWeight = new Weight(0.2, LBS);
輸出為: Weight(4.4, LBS)
public class Weight {
private final float value;
private final Unit unit;
public float getValue() { return value; }
public Unit getUnit() { return unit; }
public enum Unit {
LB, KG, GRAMS;
}
}
同樣,我想添加/減去兩個Amount對象(其中,金額由值和貨幣符號組成)。
注意:在我的用例中,可以假定不能將兩個不具有相同單位的值加/減,等等
我了解了MVEL,但似乎MVEL不能處理涉及POJO的算術表達式。 想到的其他選項是Rhino和Commons EL。
我可以使用(如果需要擴展)一個好的庫來解決此問題嗎?
謝謝!
Java不是C ++。 您不能重載運算符。
使用流暢的界面在視覺上可能並不那么吸引人,但是我想說這比您提出的要容易。
這很有趣,因為您將需要考慮的不僅僅是EL。 這個想法比您的Weight
班要籠統得多。 它更像QuantityWithUnits
。 以下是您必須回答的一些問題:
您可能會認為“我對所有這些都太聰明了;我只想做一些“簡單實用”的事情,但是最終您必須回答所有這些問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.